-1

サーバー側で並列コードを作成する必要があります。の非同期機能を認識しています。ネット4.5。しかし、私はそれを実装する必要があります。ネット 4 。並列コードを作成し、それが終了するまで待つにはどうすればよいですか。TPLライブラリでそれを行う例はありますか? 私のサーバー側は Wcf サービスです。最終結果が得られるまで、順番に db を呼び出します。これらの呼び出しは並行して行うことができ、短時間ですべてのデータを取得できます。前もって感謝します 。

4

2 に答える 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 に答える