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

给一个企业做网站网站开发 工作量评估

给一个企业做网站,网站开发 工作量评估,扬中新网网,营销型网站的运营配套不包括现实的例子 三个线程都是while(true)的循环体 A线程:采集数据 B线程:画曲线 C线程:存数据库 AutoResetEvent类 AutoResetEvent 是一个线程同步的类,它提供了一种机制,允许一个或多个线程等待直…

现实的例子

三个线程都是while(true)的循环体

A线程:采集数据

B线程:画曲线

C线程:存数据库

AutoResetEvent类 

AutoResetEvent 是一个线程同步的类,它提供了一种机制,允许一个或多个线程等待直到接收到信号,然后继续执行。

以下是 AutoResetEvent 的一些常用成员:

  • WaitOne():使当前线程等待接收信号。如果没有收到信号,则当前线程将被阻塞,直到接收到信号。
  • Set():发送信号,唤醒一个正在等待的线程。如果没有线程在等待,下一个调用 WaitOne() 的线程将立即被唤醒。
  • Reset():重置事件状态,将其设置为非终止状态。AutoResetEvent 类在调用 Set() 方法后会自动调用 Reset() 方法将事件状态重置为非终止状态。

 代码

 public partial class Form4 : Form{AutoResetEvent A;AutoResetEvent B;AutoResetEvent C;int a;public Form4(){InitializeComponent();A = new AutoResetEvent(false);B = new AutoResetEvent(false);C = new AutoResetEvent(false);Task.Factory.StartNew(() =>{for (int i = 0; i < 100; i++){A.WaitOne();Invoke(new Action(() => label1.Text = i.ToString()));Thread.Sleep(500);B.Set();}});Task.Factory.StartNew(() =>{for (int i = 0; i < 100; i++){B.WaitOne();Invoke(new Action(() => label2.Text = i.ToString()));Thread.Sleep(500);C.Set();}});Task.Factory.StartNew(() =>{for (int i = 0; i < 100; i++){C.WaitOne();Invoke(new Action(() => label3.Text = i.ToString()));Thread.Sleep(500);A.Set();}});}private void button1_Click(object sender, EventArgs e){A.Set();}}

这段代码演示了如何使用 AutoResetEvent 实现两个线程操作按钮的功能。

首先,在 Form4 类中定义了三个 AutoResetEvent 对象:ABC,以及一个整型变量 a。然后在构造函数中初始化这些对象。

接下来,通过使用 Task.Factory.StartNew() 方法创建三个任务,并在每个任务内部编写逻辑。

第一个任务使用 for 循环来迭代 100 次。在每次循环中,它调用 A.WaitOne() 方法等待信号,然后使用 Invoke() 方法将计数值赋值给 label1.Text 属性,并在界面上显示出来。然后线程休眠 500 毫秒,并通过 B.Set() 方法发送信号给第二个任务。

第二个任务也使用 for 循环来迭代 100 次,类似于第一个任务。它调用 B.WaitOne() 方法等待信号,然后使用 Invoke() 方法将计数值赋值给 label2.Text 属性,并在界面上显示出来。然后线程休眠 500 毫秒,并通过 C.Set() 方法发送信号给第三个任务。

第三个任务同样使用 for 循环来迭代 100 次,类似于前两个任务。它调用 C.WaitOne() 方法等待信号,然后使用 Invoke() 方法将计数值赋值给 label3.Text 属性,并在界面上显示出来。然后线程休眠 500 毫秒,并通过 A.Set() 方法发送信号给第一个任务。

最后,在界面上有一个按钮 button1,当点击按钮时,会调用 A.Set() 方法,发送信号给第一个任务。

通过这样的逻辑和信号交互,三个任务之间实现了循环操作,每个任务依次运行并更新界面上的标签文本,从而实现了两个线程操作按钮的功能。

 运行截图

http://www.yayakq.cn/news/945797/

相关文章:

  • 户外网站建设在线做网站索引
  • 如何建网站不花钱广东专业网站建设效果
  • 嘉兴定制型网站建设选网站建设要注意什么
  • 出国做网站工作东莞小程序开发制作
  • 怎么做淘宝客采集网站大学城网站开发公司电话
  • 做体育网站做公司网站的模板
  • 网站文章页图片不显示湖北免费网站建设
  • 建设工程质量 协会网站成都企业网站制作
  • 天翼云主机 网站服务器百度网页版网址
  • 网站建设制作网络公司好一点的网站建设公司
  • wordpress快速仿站视频教程网站广告招商应该怎么做
  • 创建网站的网站深圳做手机网站设计
  • 江苏省建设网站wordpress手机版菜单
  • 厦门模板网站可以搜索任何网站的浏览器
  • wordpress评论添加表情企业网站优化分为两个方向
  • 网站建设未来网站中队人物介绍怎么做
  • 网站源码哪个好php网站建设教程视频
  • 长沙市最新防疫政策网页的优化与发布
  • 双鸭山网站建设企业电商网站开发工作计划
  • 网站推广公司兴田德润官网多少做lol数据的网站有哪些
  • 做再生料的网站电销系统哪个好
  • 网站开发面试自我介绍静态网页模板简约
  • 西宁工程建设招聘信息网站网站建设与网站优化
  • 企业网站建设合同版本个人型网站开站费用
  • 网站页面设计教程北京通智能小程序
  • 昆明网站建设搭建网页开发软件哪个好用
  • 做网站 用什么兼容怎样用apache做网站
  • 新手做的网站哪家公司网站建设口碑好
  • 文山州住房和城乡建设局网站公司注册线上服务平台
  • 网站被封了怎么办长春网站建设解决方案