アカウント名:
パスワード:
カーネルスレッドを利用せずOS資源的には1スレッド内で複数のコード/スタックを自前でスケジューリングするとかじゃないですよね?タスクスイッチやOS資源的には軽くなるけどマルチコアが活かせないし工夫しないとブロッキングI/Oで全部止まっちゃう古式ゆかしい実装ですが
そもそもOSってプロセス単位でコアに割り当てるからスレッド単位で処理分割してもマルチコア使えないのでは。
え、そうなの?スレッド単位だとずっと思ってた
一般的なOSではスレッド単位でコアに割り当てます。ただしあなたが言う「OS」がどのOSの事を言っているのかまではわかりませんので、正確にはOS次第としか言えません。プロセス単位でコアに割り当てるOSがあってももちろんいいはずです。それで性能が出るかどうかはまた別問題ですが。
そのスレッドの定義によるかとここで議論されてるスレッドはなんちゃってスレッドのことかとOS側から見ると1つのプロセスと見れるがプログラムはまるでスレッドのように動くもののことですね
なぜこんなメリットの無さそうなものが存在してるかというとプログラムの作成が楽になるから本当のスレッドを安全に作るのは難しいけどなんちゃってスレッドには簡単に安全に作れるものが多いですからね
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
green thread? (スコア:0)
カーネルスレッドを利用せずOS資源的には1スレッド内で複数のコード/スタックを自前でスケジューリングするとかじゃないですよね?
タスクスイッチやOS資源的には軽くなるけどマルチコアが活かせないし工夫しないとブロッキングI/Oで全部止まっちゃう古式ゆかしい実装ですが
Re: green thread? (スコア:-1)
そもそもOSってプロセス単位でコアに割り当てるからスレッド単位で処理分割してもマルチコア使えないのでは。
Re: (スコア:0)
え、そうなの?
スレッド単位だとずっと思ってた
Re: (スコア:0)
一般的なOSではスレッド単位でコアに割り当てます。
ただしあなたが言う「OS」がどのOSの事を言っているのかまではわかりませんので、正確にはOS次第としか言えません。
プロセス単位でコアに割り当てるOSがあってももちろんいいはずです。それで性能が出るかどうかはまた別問題ですが。
Re: (スコア:0)
そのスレッドの定義によるかと
ここで議論されてるスレッドはなんちゃってスレッドのことかと
OS側から見ると1つのプロセスと見れるが
プログラムはまるでスレッドのように動くもののことですね
なぜこんなメリットの無さそうなものが存在してるかというと
プログラムの作成が楽になるから
本当のスレッドを安全に作るのは難しいけど
なんちゃってスレッドには簡単に安全に作れるものが多いですからね