25/08/12 17:50:01.63 6RAsIQle.net
仮想スレッドの「仮想」は抽象度が高いことを言ってるものと理解してる。
仮想スレッドはスレッドのように動作するが実際に (OS が提供する) スレッドにどう割り当てられるかは実装の都合。
ひとつのスレッドの中で複数の仮想スレッドが協調スレッドのように動作するようなことがあるかもしれないし、
実際には同期的かもしれないが見かけ上はひとつの実行単位として抽象化されたレイヤが与えられている。
そういう意味でなら Rust のタスクは仮想スレッドのような概念だと言っても間違いではないんじゃないかな。
タスクはあくまでも見かけ上のインターフェイスであって、それを実際にどう処理するかはランタイムの選択次第。
1007:デフォルトの名無しさん
25/08/12 18:56:38.02 Fr0OCoiD.net
>>982
君やRustコミュニティがRustのタスクを仮想スレッドと呼ぶのは自由だが、明確に異なるものであることを理解しておく必要がある。
JavaやGoにおいておいて仮想スレッドで実行されるコードは完全に同期的であり、
OSスレッドだろうと軽量スレッドだろうとその上で実行されるコードに違いは生じない。
1008:デフォルトの名無しさん
25/08/12 19:11:01.80 wTdmXaoa.net
Javaの仮想スレッドもRustのタスクもGoのGoルーチンもOSスレッドに対してM:Nスケジューリングする点で違いはないよ
Rustの場合はスケジューラ依存だがtokioなどで全く同様にM:Nスケジューリングできている
違いはプリエンプティブかどうかスタックレスかどうかなど
Rustは協調的にスタックレスでパフォーマンスを出している
1009:デフォルトの名無しさん
25/08/12 19:11:36.92 evYq+DIX.net
仮想スレッドとタスクは別物だろう
タスクは非同期ランタイム上で実行される処理の方に注目したもの
JavaやGoだと「仮想スレッド上で通常の関数やメソッドを呼び出す」、RustやC#だと「非同期ランタイム上でタスクを実行する」という感じ
これらはそもそも違う方式
1010:デフォルトの名無しさん
25/08/12 19:24:15.59 /yJ0tylT.net
目的は共通して
高速かつ同時に大量に扱えること
CPUが持つ多くのコアスレッド数を偏りなく限界まで使い切れること
そして現実の用途でそのパフォーマンスを発揮すること
Rustのタスク/tokioはこれを満たしていてGAFAMをはじめとしたIT大手各社が採用している
1011:デフォルトの名無しさん
25/08/12 19:32:22.66 wTdmXaoa.net
>>985
その書き分けは正しくない
どちらもランタイムが必要な点では同じ
1012:デフォルトの名無しさん
25/08/12 19:43:37.81 KkjDCbTs.net
バカおじは、特に非同期やマルチスレッドでの実行を意図していない通常のコードもスレッドで実行されていることを理解していないのだろう
RustやC#のタスクと比較したJavaやGoの仮想スレッドの最大の特徴は同期的なコードと非同期的なコードの間に違いが無いことであり、
既存の同期的なコードを非同期化しようとする場合にも大規模な書き換えを必要としない
1013:デフォルトの名無しさん
25/08/12 20:17:50.06 /yJ0tylT.net
どちらが良いかは明らかで
言語自体も普及が遅れていて不利なRustのタスク方式を各社が採用した
その結果Rust自体も普及することになった
1014:デフォルトの名無しさん
25/08/12 20:28:25.50 a3TkiHxV.net
タスクと仮想スレッドは違うと言いたいんだか同じと言いたいんだかブレブレで何言ってるかさっぱり分からん
1015:デフォルトの名無しさん
25/08/12 20:35:35.59 a3TkiHxV.net
>>976「その仮想スレッドはRustではタスクと呼んでいて」
→同じ!
>>984「Javaの仮想スレッドもRustのタスクもGoのGoルーチンもOSスレッドに対してM:Nスケジューリングする点で違いはないよ」「違いはプリエンプティブかどうかスタックレスかどうかなど」
→目的が同じだけど違う!
>>986「目的は共通して」
→目的が同じなだけだからね! 同じとは言ってないよ!
いつものくだらない言い繕いか
1016:デフォルトの名無しさん
25/08/12 20:41:50.62 wTdmXaoa.net
大きな違いとしてはRustのタスク方式はスタックレスで他はスタックフル
Rustでは何万ものスタック領域確保が不要でその切り替えも不要という利点がある
1017:デフォルトの名無しさん
25/08/12 20:43:33.09 BYPdwzD6.net
平日にくだらん言い争いやめろ
仕事しろや
1018:デフォルトの名無しさん
25/08/12 21:25:01.40 /yJ0tylT.net
それまでマニア向けだったRustが
これによりIT界の実用部門で採用され
普及に拍車をかけた重要な分岐点とみることもできる
1019:デフォルトの名無しさん
25/08/12 22:23:03.93 C7FhDLJq.net
このスレの半分は複おじでできています
複おじレスの半分は嘘・誇張・勘違いでできています
(残りの半分は自演レス)
1020:デフォルトの名無しさん
25/08/13 13:05:59.56 8ztXa6qO.net
う
1021:デフォルトの名無しさん
25/08/13 14:21:30.18 BMTFnZZ6.net
複
1022:デフォルトの名無しさん
25/08/13 18:02:27.96 8ztXa6qO.net
お
1023:デフォルトの名無しさん
25/08/13 18:47:51.10 p1WDfix1.net
じ
1024:デフォルトの名無しさん
25/08/13 20:28:33.97 G1NFqKcW.net
Rust最高!!
1025:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 40日 22時間 58分 28秒
1026:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています