私は、タスク並列ライブラリを使用して実行したい任意の操作のセットを持っています。 Task.Factory.StartNewを使用して、新しいバックグラウンドスレッドをスピンアップする必要はありません。タスクを使用した任意の操作の非同期実行
タスクフレームワークを使用して任意の操作を非同期で実行するにはどうすればよいですか? Task.Factory.FromAsyncを使用するには、操作でBeginメソッドとEndメソッドを公開する必要があります。
これについてのガイダンスは高く評価されます。
はい、私はそれがスレッドプールからスレッドを使用することを理解します。私が欲しいのは、スレッドプールからスレッドを使用する代わりに、同じスレッドで任意の操作を非同期的に実行したいということです。デリゲートでBeginInvokeを呼び出すと、これは同じスレッドで実行されますが、非同期で実行されます。私はタスクと同様の機能を達成したいです。 –
デリゲートのBeginInvokeは、実際には操作の実行にスレッドプールスレッドを使用します。呼び出し元と同じスレッドは使用されません。 –
うーん...これは私が解決しようとしていることです。別のWCFサービスとデータベースを呼び出し、集中的な処理を行うWCFサービス操作を実装する必要があります。 Task.Factory.StartNew()を使用すると、スレッドプールからのスレッドが使用されますが、IO要求が行われると、別のWCFサービスに送信されると、スレッドプールスレッドがブロックされます。私の理解が正しい場合、IOを待つ間にWCFスレッドがブロックされないように、これをどのように記述しますか? –