static void Main(string[] args) { object locker = new object(); int m = 0; int n = 0; int k = 0; AsyncJob job = new AsyncJob(); job.addChild(10); job.Start(); job.In((j) => { for (int i = 0; i < 1000; i++) { Console.WriteLine("执行主任务{0}", m++); j.SendToChild((c) => { lock (locker) { Console.WriteLine("执行子任务{0}", k++); } c.SendCallBack(() => { Console.WriteLine("子任务回调{0}", n++); }); }); } j.EndInput(); }); job.CallBack(); Console.WriteLine("任务结束!"); Console.ReadLine(); }