线程----WaitHandle抽象基类(等待句柄)

例子:c#

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;
        }
    }
}

wKioL1TaKd6SP_n5AAAlbZAH6ag594.jpg

相关文章
相关标签/搜索