tommieです。度々すみません。 (2013/04/10 18:22), Shigeki Ohtsu wrote: > 大津です。 > >>> これ、 sleep(1) を入れないと、イベントループが io poll で call back を処 >>> 理する前に各スレッドが async fd を上書きしちゃうからだと思います。(ちゃ >>> んと調べてないですが) >> uv_async_tはスレッド毎に必要なようです。 >> 1つのuv_async_tを重複して使っていたのが原因でした。 >> スレッド毎に用意したら正しく動きました。 > だから最初に書いた通り、 > >>>> えー、 worker の中から uv_async_send() してるんですかぁ。 >>>> これ async ハンドラが thread safe じゃないような気がしますが、大丈 >>>> 夫なんかなぁ? > ということなんですよね。
いえ、workerスレッドからuv_async_send()するのは 通常の使用法(とうか、目的そのもの)だと思いますよ。 >> uv_check()を使ったほうがスッキリしてますね。 >> uv_check()は イベント処理毎に設定した関数を呼び出すのですね、なるほど。 >> 全イベント処理毎に呼ばれるのでしょうか? > 実は、この辺をわかりやすく図にして書いてます。 > (node-v0.9の初期の図なので今は若干変わってます。) > > http://html5.ohtsu.org/new_setImmediate_semantics.png > > この図、結構評判良くて、 isaacs からも使いたいと頼まれてますが、まだ最新 > 版書いてない状況です。(早くしないと) 勉強会で見せて頂きましたね、今思い出しました。 これTシャツのデザインとしても良いですねー -- --- このメールは Google グループのグループ「Node.js 日本ユーザグループ」の登録者に送られています。 このグループから退会し、メールの受信を停止するには、[email protected] にメールを送信します。 その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
