トップページ > プログラム > 2020年09月28日 > ii9XSMYC0

書き込み順位&時間帯一覧

15 位/163 ID中時間01234567891011121314151617181920212223Total
書き込み数0000001100010000000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (ワッチョイ 1201-nSIs)
ふらっと C#,C♯,C#(初心者用) Part148

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part148
303 :デフォルトの名無しさん (ワッチョイ 1201-nSIs)[sage]:2020/09/28(月) 06:18:20.07 ID:ii9XSMYC0
>>290です
>>296
コンテキスト・文脈という概念がまだ把握できてないのでそこが課題だと思ってます
>>298
自分は独習C#という本をテキストにして勉強しています。
その中で、>>291のAと似たコードが記載されていて、
これを使ってasync/awaitの基礎が説明されています。
そこで、フォームアプリで真似してみたんです。
デッドロックについてはいろいろ調べてみて基本的な理屈は理解できました。
ただ、Aのコンソールアプリでデッドロックが起きない理由がわかりません。
コンソールアプリはループスレッドではないからとのご指摘が重要だと思っていますが
まだ理解が浅くてモヤモヤしてます。
あと、
>まず、async指定されたメソッドは呼び出されるとメソッド全体を別スレッドとして
起動して・・・
の下りですが、スレッドが3つあると考えればいいのでしょうか?
a.STAスレッド(2のスレッドを呼び出したスレッド)
b.async指定されたメソッドを処理するスレッド
c.client.GetStringAsync(url)を処理するスレッド

これはAのコンソールアプリでも同じですか?
bについては独習C#には書かれていなかったので
aとbは同じスレッドだと思い込んでいました。

調べてみてよく分かったのですが、理解できていない概念が多すぎますね。
今の時点で安易に触ってしまうと変に誤った先入観を持ってしまいそうです
この辺をわかりやすくしっかり説明している書籍等、ご存じないでしょうか?

結論としては
基本的にフォームアプリの中でWaitを使うな
使いたいならConfigureAwait(false)で回避しろ
ということなのかなと思っています
ふらっと C#,C♯,C#(初心者用) Part148
304 :デフォルトの名無しさん (ワッチョイ 1201-nSIs)[sage]:2020/09/28(月) 07:01:50.95 ID:ii9XSMYC0
>>303
修正
a.STAスレッド(bのスレッドを呼び出したスレッド)
ふらっと C#,C♯,C#(初心者用) Part148
318 :デフォルトの名無しさん (ワッチョイ 1201-nSIs)[sage]:2020/09/28(月) 11:42:34.18 ID:ii9XSMYC0
>>309
ありがとうございます
アマゾンレビューをチラ見したところ目的に合ってそうです
>>311
とりあえず頑張ってみます


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。