[過去ログ] ふらっと C#,C♯,C#(初心者用) Part155 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
132(3): デフォルトの名無しさん (ササクッテロラ Spa3-u0tS) [] 2022/06/26(日) 01:35:05.56 ID:qaLvjcDBp(1) AAS
待つなら同期でいいと思うんですが、awaitするメリットってなんですか?
他のことが出来るって言われても、他のことが非同期にやらせてる処理に
影響が出るような事象や処理だったらどうするんですか?
135: デフォルトの名無しさん (ワッチョイ 3f2d-yeJY) [] 2022/06/26(日) 01:49:34.43 ID:naJNIbNQ0(1) AAS
>>132
良くあるのはGUIのボタンを押したら時間がかかる処理をやらせる場合
同期処理だとその間GUIが固まって、ウィンドウを移動したり出来なくなる
非同期処理なら処置中もGUIが動ける
排他制御等で影響が出ないようにするのはプログラマーの仕事
137: デフォルトの名無しさん (ワッチョイ 3f32-iCO3) [sage] 2022/06/26(日) 02:31:28.25 ID:thJDnK3H0(1) AAS
>>132
ついでに言うと、UIコンポーネントはUIスレッドしか触るなという制約がある
awaitは非同期待機だけでなく既定なら元コンテキストへ戻るという意味も含む
同タスク内でやるとアクセス違反、経過もIProgressなど同期コンテキストが必要
ContinueWithの後続処理としてもタスクスケジューラを渡してやらなければならない
>>136136(1): デフォルトの名無しさん (オッペケ Sra3-r+Rc) [sage] 2022/06/26(日) 02:07:33.08 ID:DrXudPeHr(1) AAS
C10K 問題は20世紀に提起された話題で、現代も問題になるかわかたない。
実際、開発者であるあなたのパソコンでは数千のスレッドが在り、ハンドルに至っては数十万あると思う。
それで問題なく動いている。
非同期は広告の宣伝文句かもしれない。
GUIはイベント駆動だし、Taskの乱発はC10Kのスレッド作りすぎに近づいていくが…?問題ねぇよってプロパガンダ?
138: デフォルトの名無しさん (ワッチョイ 3f01-DrrO) [sage] 2022/06/26(日) 08:44:12.84 ID:yfX3wl/l0(1/2) AAS
>>132
> 他のことが出来るって言われても、他のことが非同期にやらせてる処理に
> 影響が出るような事象や処理だったらどうするんですか?
魔法じゃないんだからそんなのは何を使ってもどうしようもないだろ
影響出ないケースなんていくらでもあって例えばネットワークとディスク(最近はSSDだからストレージか)の各々からデータを読んでからそれらのデータを処理して表示するなんて時にシリアルにやるより
1. ネットワークから読み出し開始
2. ストレージから読み出し開始
3. 1. と 2. の終了を待つ
4. 読み出したデータを処理して表示
ってやった方が早い可能性があるってこと
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.049s