[過去ログ] Rust part31 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
981: 08/12(火)17:12 ID:wTdmXaoa(1/4) AAS
>>977
taskはtokio固有ではなくRust自体の概念
tokioはスケジューラーの1つにすぎない
tokioがなくてもtaskは機能する

軽量スレッドの実現にOSスレッドやOSプロセスと同様のプリエンプティブを求めるべきかどうかは議論が分かれるが
目的は軽量で高速に大量に動けばよく
同一プロセス内の自分自身のコードならば協調型でも支障はない

Rustでもversion 1.0になる前はプリエンプティブな軽量スレッドが採用されていた
しかしオーバーヘッドが大きいため廃止されてからRust 1.0が出た経緯がある
そして真に求められている実用的な軽さと速さから現在の協調型非同期なtaskが採用されその実用性が示された
結果としてRustへの移行が進みこの判断が正しいと証明された
984
(1): 08/12(火)19:11 ID:wTdmXaoa(2/4) AAS
Javaの仮想スレッドもRustのタスクもGoのGoルーチンもOSスレッドに対してM:Nスケジューリングする点で違いはないよ
Rustの場合はスケジューラ依存だがtokioなどで全く同様にM:Nスケジューリングできている
違いはプリエンプティブかどうかスタックレスかどうかなど
Rustは協調的にスタックレスでパフォーマンスを出している
987: 08/12(火)19:32 ID:wTdmXaoa(3/4) AAS
>>985
その書き分けは正しくない
どちらもランタイムが必要な点では同じ
992: 08/12(火)20:41 ID:wTdmXaoa(4/4) AAS
大きな違いとしてはRustのタスク方式はスタックレスで他はスタックフル
Rustでは何万ものスタック領域確保が不要でその切り替えも不要という利点がある
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s