当前位置: 首页 > news >正文

北京网站建设怎么样天yande搜索引擎官网入口

北京网站建设怎么样天,yande搜索引擎官网入口,网站开发和推广财务预算,建立网站要怎么做本文部分内容摘自ChatGPT 在 C# 中,AutoResetEvent 是一种用于线程同步的机制,它的行为类似于一个信号量,主要用于在多线程环境中发出信号并控制线程的执行。AutoResetEvent 的主要特点是每当调用 Set() 方法时,信号会被设置&…

本文部分内容摘自ChatGPT

在 C# 中,AutoResetEvent 是一种用于线程同步的机制,它的行为类似于一个信号量,主要用于在多线程环境中发出信号并控制线程的执行。AutoResetEvent 的主要特点是每当调用 Set() 方法时,信号会被设置,并唤醒一个等待的线程,然后会自动重置为无信号状态,直到下次调用 Set()

AutoResetEventSet() 方法多次调用的行为

AutoResetEvent 中,调用 Set() 方法的多次行为有特定的规则:

  • 调用 Set() 后,信号会被设置为有信号状态,且会唤醒一个等待的线程。
  • 多次调用 Set():多次调用 Set() 只会唤醒一个等待的线程。调用一次 Set() 后,信号会变为有信号状态,但会自动在唤醒线程后重置为无信号状态。如果在 AutoResetEvent 处于有信号状态时连续调用 Set(),它会再次唤醒一个线程,但是不会导致信号状态保持在有信号状态,除非再次调用 Set()

示例代码

using System;
using System.Threading;class Program
{static AutoResetEvent autoResetEvent = new AutoResetEvent(false);static void ThreadA(){Console.WriteLine("线程A开始等待...");autoResetEvent.WaitOne();  // 等待信号Console.WriteLine("线程A被唤醒");}static void ThreadB(){Console.WriteLine("线程B设置信号");autoResetEvent.Set();  // 唤醒线程AConsole.WriteLine("线程B再次设置信号");autoResetEvent.Set();  // 再次唤醒一个等待的线程(如果有)}static void Main(){Thread threadA = new Thread(ThreadA);Thread threadB = new Thread(ThreadB);threadA.Start();Thread.Sleep(500);  // 确保线程A先开始等待threadB.Start();threadA.Join();threadB.Join();Console.WriteLine("主线程结束");}
}

代码解释:

  1. ThreadA:线程A调用 WaitOne() 等待信号。如果 AutoResetEvent 没有信号,它会被阻塞,直到 Set() 被调用。
  2. ThreadB:线程B首先调用 Set() 唤醒一个等待的线程(这里是线程A)。然后,线程B再次调用 Set(),即使 AutoResetEvent 已经重置为无信号状态,调用 Set() 仍然会唤醒另一个等待的线程(如果存在的话)。

关键点:

  • AutoResetEvent信号状态是自动重置的。即使多次调用 Set(),也只会唤醒一个线程,且每次唤醒线程后信号状态会自动变为无信号。
  • 调用 Set() 多次不会增加等待线程的唤醒次数,每次信号被设置后只会唤醒一个线程,并且信号会立即被重置为无信号。

示例输出:

线程A开始等待...
线程B设置信号
线程A被唤醒
线程B再次设置信号
主线程结束

线程A开始等待... 线程B设置信号 线程A被唤醒 线程B再次设置信号 主线程结束

Set() 多次调用的影响:

  • 如果 AutoResetEvent 已经是有信号状态,调用 Set() 后不会产生任何新的效果,仍然只会唤醒一个等待的线程。
  • 如果没有等待线程,Set() 的调用将没有任何效果,因为没有线程处于等待状态。

总结:

  • AutoResetEventSet() 方法多次调用并不会导致多个线程同时被唤醒。它每次调用时,最多只会唤醒一个线程。信号会在唤醒后自动重置为无信号状态,除非下次调用 Set()
http://www.hengruixuexiao.com/news/22208.html

相关文章:

  • 拼多多网站怎么做的搜索引擎排名2021
  • 做网站怎么qq邮箱验证温州seo招聘
  • 做试管网站完整企业网站模板
  • 手机wap网站开发深圳网络营销信息推荐
  • 自己做网站都要什么手续可以商用的电视app永久软件
  • 域名的格式是什么seo百科大全
  • 钢筋网片价格怎么做seo网站关键词优化
  • WordPress点击头像优化大师官网入口
  • 广告优化师招聘四川二级站seo整站优化排名
  • b2c网站维护代运营靠谱吗
  • 做百度手机网站点击做一个微信小程序需要多少钱
  • 哪个网站有卖做一次性口机器的深圳全网推广效果如何
  • wordpress把站搜索引擎的三个技巧
  • diy手机壳定制网站软件测试培训
  • 国外还有那种做电商的网站整合营销传播的方法包括
  • 在线网站制作模拟优化关键词排名优化公司
  • 做网站配什么电脑曲靖新闻今日头条
  • 个人做网站费用百度搜索推广的定义
  • 整合营销传播的方法包括企业网站优化公司
  • 怎样建一个免费网站seo网络营销推广
  • wordpress广告位广州seo关键词优化外包
  • 购物网站建设基本流程树状图cpc广告点击日结联盟
  • 扶贫工作网站怎么做下载百度免费版
  • 销售网站建设方案搜索引擎优化报告
  • 宝安建网站如何让产品吸引顾客
  • 可视化网站制作软件宁波seo网络推广外包报价
  • 男朋友说是做竞彩网站维护的怎么优化整站
  • com域名注册流程关键词优化排名软件流量词
  • 做网站php都用什么框架培训学校网站
  • 具有价值的微网站建设平台推广策略都有哪些