[過去ログ]
ふらっと C#,C♯,C#(初心者用) Part138 (1002レス)
ふらっと C#,C♯,C#(初心者用) Part138 http://mevius.5ch.net/test/read.cgi/tech/1528194762/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
193: デフォルトの名無しさん (ワッチョイ e227-Ly5g) [sage] 2018/06/17(日) 21:42:03.70 ID:62NxCwPo0 非同期自体が複雑だし、(当時は)新しい構文ってことで、混乱を少しでも減らすために警告にしてるだけっぽいね 抑止しちゃっていいと思うよ http://mevius.5ch.net/test/read.cgi/tech/1528194762/193
194: デフォルトの名無しさん (ワッチョイ edd3-Bw3Y) [sage] 2018/06/17(日) 22:13:20.40 ID:g+98DwlT0 >>193 Formが作成された所謂UIスレッドでは同期されるが、コンソールアプリ等では同期されない もうちょい突っ込むと、await文が実行されるスレッドにSynchronizationContextへの仕込みがあるかどうかで違ってくる await後に実行されるスレッドはSynchronizationContext.Postの実装により決定される Winformsは最初のフォーム作成時にWindowsFormsSynchronizationContextを現在のスレッドに設定し WindowsFormsSynchronizationContext.Postはメッセージループを仲介してUIスレッドでawaitの続きを実行する 具体的な実装はReference SourceやmonoのWindowsFormsSynchronizationContextを読むのが良い http://mevius.5ch.net/test/read.cgi/tech/1528194762/194
203: デフォルトの名無しさん (ワッチョイ c251-G00F) [sage] 2018/06/18(月) 18:38:53.61 ID:rGsHjxJX0 皆さんレスどうもありがとうございます。 >>186 スレッド生成はともかく、無駄をなくすという観点は重要ですね。 >>198 に書いていただいてあることも踏まえると、 > しかし文法上の間違いではないのでエラーと断言することもできない > 間をとって警告を出すってのが妥当な落とし所じゃないかな というご意見は実に的を射たものであるように感じました。 >>190 > forループで制御したらいい 同じメソッドを繰り返し呼ぶ例は不適切でしたね。失礼いたしました。 ただ、for ループ版に n = 0 を渡しても何の問題もないのに async Task SayHello0() { } では警告が出るというのも やはり腑に落ちない感じがします。 >> 191 > 中に入っても最終的にタスクにたどり着かないと別スレッドはスタートしない やはりそこが重要なポイントですよね。 だからこそ、最終的にタスクにたどり着かない選択肢がある方が 自然だと思うのですがいかがでしょうか。 >>193 > 非同期自体が複雑だし、(当時は)新しい構文ってことで、混乱を少しでも減らすために警告にしてるだけっぽいね > 抑止しちゃっていいと思うよ 言われてみると、構文に不慣れな方向けの警告であるという考えは とても納得ができました。 あとは、「自分は構文を十分に理解しているから警告を抑制しても構わないのだ」 という主張をいかにして人様に受け入れて貰うかが課題でしょうか(汗 http://mevius.5ch.net/test/read.cgi/tech/1528194762/203
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s