アカウント名:
パスワード:
カーネルスレッドを利用せずOS資源的には1スレッド内で複数のコード/スタックを自前でスケジューリングするとかじゃないですよね?タスクスイッチやOS資源的には軽くなるけどマルチコアが活かせないし工夫しないとブロッキングI/Oで全部止まっちゃう古式ゆかしい実装ですが
カーネルスレッドとかネイティブスレッドってキーワードを知ってる老人から見ると、何を今更って話ですね。 んなもん setjump() と longjump() 使えばC言語でも実装できるわ!rubyなんて当初からそうやって実装されてるわ!余計な機能入れるな!などなど言いたいことは沢山あるでしょう。
違うんですよ。
最近はコルーチンとかが流行ってい
昔、コルーチンをsetjump/longjumpで無理矢理実装して、嵌った老人が来ましたよっと。setjumpは実装によって、全部のレジスタが保存されるとは限らないのよね。あと、スタックをOSの想定していない場所に配置すると動作がおかしくなったり。。。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
green thread? (スコア:0)
カーネルスレッドを利用せずOS資源的には1スレッド内で複数のコード/スタックを自前でスケジューリングするとかじゃないですよね?
タスクスイッチやOS資源的には軽くなるけどマルチコアが活かせないし工夫しないとブロッキングI/Oで全部止まっちゃう古式ゆかしい実装ですが
Re: (スコア:0)
カーネルスレッドとかネイティブスレッドってキーワードを知ってる老人から見ると、何を今更って話ですね。 んなもん setjump() と longjump() 使えばC言語でも実装できるわ!rubyなんて当初からそうやって実装されてるわ!余計な機能入れるな!などなど言いたいことは沢山あるでしょう。
違うんですよ。
最近はコルーチンとかが流行ってい
Re: green thread? (スコア:0)
昔、コルーチンをsetjump/longjumpで無理矢理実装して、嵌った老人が来ましたよっと。
setjumpは実装によって、全部のレジスタが保存されるとは限らないのよね。
あと、スタックをOSの想定していない場所に配置すると動作がおかしくなったり。。。
Re: green thread? (スコア:1)
// まあアレは返ってこれればおk くらいの実装だからなぁ