問題タブ [async-await]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 新しい C# Async 機能のネットワーク化されていない良い例は何ですか?
Microsoft は、新しい C# Async 機能を発表しました。これまで見てきたすべての例は、HTTP から何かを非同期的にダウンロードすることに関するものでした。確かに他の重要な非同期のものがありますか?
新しい RSS クライアントや Twitter アプリを書いているわけではないとします。私にとって C# Async の興味深い点は何ですか?
編集私はAhaを持っていました!Anders の PDC セッションを見ている瞬間。過去に、「ウォッチャー」スレッドを使用するプログラムに取り組んできました。これらのスレッドは、ファイルの変更を監視するなど、何かが起こるのを待っています。彼らは仕事をしておらず、アイドル状態であり、何かが起こるとメインスレッドに通知します。これらのスレッドは、新しいモデルで await/async コードに置き換えることができます。
c# - C#で非同期はどのように機能しますか?
Microsoft は本日 (2010 年 10 月 28 日)、非同期メソッド実行のために C#/VB にandキーワードを導入するVisual Studio Async CTPを発表しました。async
await
最初は、コンパイラがキーワードをスレッドの作成に変換すると思っていましたが、ホワイト ペーパーと Anders Hejlsberg のPDC プレゼンテーション(31:00) によると、非同期操作は完全にメイン スレッドで行われます。
同じスレッドで操作を並行して実行するにはどうすればよいですか? 技術的にどのように可能であり、IL で実際に翻訳された機能は何ですか?
c# - C# 5.0 の async-await 機能は TPL とどう違うのですか?
C# (および VB) の新しい非同期機能と .NET 4.0 のTask Parallel Libraryの違いはわかりません。たとえば、ここからEric Lippert のコードを見てみましょう:
このawait
キーワードは 2 つの異なる目的を果たしているようです。最初の出現 ( FetchAsync
) は、「この値が後でメソッドで使用され、そのタスクが終了していない場合は、完了するまで待ってから続行する」という意味のようです。2 番目のインスタンス ( ) は、 「このタスクがまだ終了していない場合は、完了するまで今すぐarchive
待ってください」という意味のようです。私が間違っている場合は、私を修正してください。
こんな風に簡単に書けませんか?
最初の値を実際に値が必要な場所に置き換え、2 つ目を待機が実際に発生await
している場所に置き換えました。機能は既に実装されており、意味的にはコードで実際に起こっていることにより近くなっています。Task.Result
await
Task.Wait()
(1)
(2)
メソッドがイテレータと同様にステートマシンとして書き直されることは理解していasync
ますが、それがもたらす利点もわかりません。動作に別のスレッドを必要とするコード (ダウンロードなど) は別のスレッドを必要とし、別のスレッドを必要としないコード (ファイルからの読み取りなど) は、TPL を利用して 1 つのスレッドのみで動作する可能性があります。
ここには明らかに何か大きなものが欠けています。誰かがこれをもう少しよく理解するのを手伝ってもらえますか?
c# - 新しい C# の await 機能は何をしますか?
関数の機能を説明できる人await
はいますか?
c# - WebClient.DownloadStringTaskAsync() がブロックするのはなぜですか? - 新しい非同期 API/構文/CTP
以下のプログラムの開始後に、何らかの理由で一時停止があります。WebClient().DownloadStringTaskAsync()
それが原因だと思います。
私が理解している限り、私のプログラムはすぐに 0 から 15 までのカウントを開始する必要があります。私は何か間違ったことをしていますか?
元の Netflix ダウンロード サンプル ( CTPで取得) でも同じ問題がありました。検索ボタンを押した後、UI が最初にフリーズし、しばらくすると、次の映画の読み込み中に応答します。そして、PDC 2010 での Anders Hejlsberg のプレゼンテーションでは、それは固まらなかったと思います。
もう一つ。代わりに
私は自分の方法を使用します:
それは次のとおりです。
正常に動作します。つまり、何もロードされませんが、すぐに開始され、作業中にメインスレッドをブロックしません。
編集
OK、私が今信じているのは、WebClient.DownloadStringTaskAsync
機能が台無しになっているということです。次のように、最初のブロック期間なしで機能するはずです。
c# - C# 5.0 の async/await 機能と Rx - Reactive Extensions
C# 5.0 の新しい非同期機能は、Rx - Reactive Extensions にとって何を意味するのでしょうか? 差し替えではないようですが、重複しているようです -Task
とIObservable
.
c# - c#5.0の新しい非同期機能をcall / ccでどのように実装できますか?
私はasync
c#5.0に含まれる新機能に関する新しい発表をフォローしています。私は、継続渡しスタイルと、新しいc#コンパイラがEric Lippertの投稿からのこのスニペットのようなコードに変換することについての基本的な理解を持っています:
一部の言語は、call-with-current-continuation(callcc
)を介してネイティブに継続を実装していることは知っていますが、それがどのように機能するのか、または正確に何をするのかはよくわかりません。
だからここに質問があります:アンダースらの場合。弾丸を噛み、/特殊なケースcallcc
の代わりにc#5.0で実装することにした場合、上記のスニペットはどのようになりますか?async
await
c# - 新しい async/await を使用した C# の Agent/MailboxProcessor
この質問は、私が完全には理解していない 2 つのトピックを組み合わせたものです
F# の asyncに関する論文を読んで、リアクティブ ステート マシンの実装に使用できる Agents/MailboxProcessors のトピックに出会いました。C#5 の新しい async/await 機能を使用して、C# で同様のものを実装できますか?それとも、より適したアナログが既に存在しますか?
c# - バニラ.Net 4上のVisual Studio Async CTP?
私の理解では、C# 5 CTP の新しい Async-Await 機能はすべてコンパイラに実装する必要があります。これは、CTP でコンパイルされたコードがバニラ .Net 4 で実行できることを意味しますか?
それをできる?
c# - WCFサービスは他のWCFサービスと非同期を呼び出します
タスクベースの非同期パターンについて読んだことがありますが、それは素晴らしいですね。これで、他のWCFサービスを呼び出す必要があるWCFサービスがあります。これらのサービスは異なる結果を返します。非同期でこれらのサービスを新しいパターンで呼び出し、すべてが完了するのを待つにはどうすればよいですか?