C#多线程通信

  1. 信号量:在C#多线程通信中主要用来向阻塞的线程传达信号从而使得阻塞线程继续执行。代表一种许可的概念,是否允许多线程对同一资源操作的许可。

  2. 多线程信号(线程交互):通常是指线程必须等待一个线程或者多个线程通知交互(释放信号),才可以继续执行。

  3. C#中信号量主要有这几个:

    AutoResetEvent,

    private static AutoResetEvent auto = new AutoResetEvent(false);
    Thread thread = new Thread(AutoReset);//定义线程去执行AutoReset方法
    thread.Start();//开始线程
    Thread.Sleep(5000);//休眠5s
    auto.Set();
    static void AutoReset()
            {
                auto.WaitOne();//阻塞线程,等待释放信号从而继续执行下面的代码,一直等待
                //auto.WaitOne(2000);//等待两秒,如果没有收到信号,则继续执行
                Console.WriteLine("Wait 5s,Begin Run AutoReset");
            }

    ManualResetEvent,

    private static ManualResetEvent manualResetEvent = new ManualResetE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值