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