Rustアンチスレ (202レス)
上
下
前
次
1-
新
85
(1)
: 2021/09/12(日)22:17
ID:Zjk1d74X(1)
AA×
>>75
外部リンク:qiita.com
[240|
320
|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
85: [sage] 2021/09/12(日) 22:17:14.89 ID:Zjk1d74X >>75 同期実行ライブラリと整合性が無いというのはウソです Rustでstd利用の同期とasync-std利用の非同期のプログラムはほとんど同じように書けます 例えば複数のファイルのチェックサム計算を同期と非同期の2通りに書いた以下の記事を参考にすると https://qiita.com/osanshouo/items/671c45072a79c7b27aba メイン部分の両者のdiffを取ると以下のような感じです for entry in entries { let entry = entry.unwrap(); if entry.file_type().unwrap().is_file() { + let handle = async_std::task::spawn(async move { let filepath = entry.path(); - let mut file = fs::File::open(&filepath).unwrap(); + let mut file = fs::File::open(&filepath).await.unwrap(); let bytes = { let mut bytes = Vec::new(); - file.read_to_end(&mut bytes).unwrap(); + file.read_to_end(&mut bytes).await.unwrap(); bytes }; let checksum = bytes.iter().fold(0u8, |acc, b| acc.wrapping_add(*b)); println!("{:?}: {}", filepath.file_name().unwrap(), checksum); + }); + handles.push(handle); } } つまり差は2点のみ 非同期実行では不可欠なspawnがが入ることと 非同期を同期風に書けるようにするためのawaitが入ることだけです おっしゃる『同期実行のライブラリと整合性が無さすぎる』との主張は間違っています http://mevius.5ch.net/test/read.cgi/tech/1509028624/85
同期実行ライブラリと整合性が無いというのはウソです で利用の同期と利用の非同期のプログラムはほとんど同じように書けます 例えば複数のファイルのチェックサム計算を同期と非同期の通りに書いた以下の記事を参考にすると メイン部分の両者のを取ると以下のような感じです つまり差は点のみ 非同期実行では不可欠ながが入ることと 非同期を同期風に書けるようにするためのが入ることだけです おっしゃる同期実行のライブラリと整合性が無さすぎるとの主張は間違っています
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 117 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.032s