サーバー側で並列コードを作成する必要があります。の非同期機能を認識しています。ネット4.5。しかし、私はそれを実装する必要があります。ネット 4 。並列コードを作成し、それが終了するまで待つにはどうすればよいですか。TPLライブラリでそれを行う例はありますか? 私のサーバー側は Wcf サービスです。最終結果が得られるまで、順番に db を呼び出します。これらの呼び出しは並行して行うことができ、短時間ですべてのデータを取得できます。前もって感謝します 。
2 に答える
0
ワーカー クラスを作成します。
public class AsyncClass
{
public delegate void WorkFinishedDelegate();
public event WorkFinishedDelegate WorkFinishedEvent;
public void StartJob()
{
System.Threading.ThreadStart ts = new System.Threading.ThreadStart(DoSomeJob);
System.Threading.Thread th = new System.Threading.Thread(ts);
//this will stast async thread...
th.Start();
}
void DoSomeJob()
{
//TODO: do your job
//nofity you have completed...
if (WorkFinishedEvent!= null)
{
WorkFinishedEvent();
}
}
}
クラスを呼び出します。
AsyncClass ac = new AsyncClass();
ac.WorkFinishedEvent += new AsyncClass.WorkFinishedDelegate(ac_WorkFinishedEvent);
ac.StartJob();
void ac_WorkFinishedEvent()
{
//here you have been notified!
}
于 2012-09-21T21:41:27.957 に答える
0
データベースの場合、ADO には非同期サポートがあります。
于 2012-09-22T12:14:52.613 に答える