アカウント名:
パスワード:
カーネルスレッドを利用せずOS資源的には1スレッド内で複数のコード/スタックを自前でスケジューリングするとかじゃないですよね?タスクスイッチやOS資源的には軽くなるけどマルチコアが活かせないし工夫しないとブロッキングI/Oで全部止まっちゃう古式ゆかしい実装ですが
カーネルスレッドとかネイティブスレッドってキーワードを知ってる老人から見ると、何を今更って話ですね。 んなもん setjump() と longjump() 使えばC言語でも実装できるわ!rubyなんて当初からそうやって実装されてるわ!余計な機能入れるな!などなど言いたいことは沢山あるでしょう。
違うんですよ。
最近はコルーチンとかが流行ってい
コルーチンはyieldの前後で実行するスレッドが変わることがあるので、STAなCOMと一緒に使うとドはまりするので要注意ですね。
Fiber実装になってないの?
fiber的にすることで、あえてスレッドを乗り換えることができる実装がある。UIスレッドは止めちゃダメなフレームワークなとき、ソース上の区切りのいいところからワーカスレッドにきれいに移れる。そういう目的・仕組みを理解して使ってねってこと。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
green thread? (スコア:0)
カーネルスレッドを利用せずOS資源的には1スレッド内で複数のコード/スタックを自前でスケジューリングするとかじゃないですよね?
タスクスイッチやOS資源的には軽くなるけどマルチコアが活かせないし工夫しないとブロッキングI/Oで全部止まっちゃう古式ゆかしい実装ですが
Re: (スコア:0)
カーネルスレッドとかネイティブスレッドってキーワードを知ってる老人から見ると、何を今更って話ですね。 んなもん setjump() と longjump() 使えばC言語でも実装できるわ!rubyなんて当初からそうやって実装されてるわ!余計な機能入れるな!などなど言いたいことは沢山あるでしょう。
違うんですよ。
最近はコルーチンとかが流行ってい
Re: (スコア:0)
コルーチンはyieldの前後で実行するスレッドが変わることがあるので、
STAなCOMと一緒に使うとドはまりするので要注意ですね。
Re: green thread? (スコア:0)
Fiber実装になってないの?
Re: (スコア:0)
fiber的にすることで、あえてスレッドを乗り換えることができる実装がある。
UIスレッドは止めちゃダメなフレームワークなとき、ソース上の区切りのいいところからワーカスレッドにきれいに移れる。
そういう目的・仕組みを理解して使ってねってこと。