我需要在服务器端制作一些并行代码。我知道中的异步功能。净4.5。 但我需要实现它。净4。 如何制作并行代码并等到它完成。是否有使用TPL库的例子。 我的服务器端是Wcf服务,我按顺序调用db直到得到最终结果。这些调用可以并行,并在短时间内获取所有数据。 提前致谢 。
答案 0 :(得分: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!
}
答案 1 :(得分:0)
对于数据库,ADO具有异步支持。