例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApplication6
{
class Program
{
private delegate int AsycTaskDelegate(int i, int j);
static void Main(string[] args)
{
AsycTaskDelegate std = AsycTask;
IAsyncResult sr = std.BeginInvoke(1, 1000, null, null);
//设置等待时间2秒钟,如果在3秒钟内完成任务,则执行下面的方法
if (sr.AsyncWaitHandle.WaitOne(2000))
{
Console.WriteLine("收到信号");
}
else
{
Console.WriteLine("信号丢失");
}
Console.WriteLine(std.EndInvoke(sr));
Console.ReadKey();
}
private static int AsycTask(int i, int j)
{
Console.WriteLine("请等待...");
Thread.Sleep(j);
return ++i;
}
}
}
本文出自 “程序猿的家--Hunter” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1613513
原文:http://962410314.blog.51cto.com/7563109/1613513