架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 17550|回复: 1

[WinForm] c#线程池执行操作例子

[复制链接]
发表于 2016-4-26 11:11:42 | 显示全部楼层 |阅读模式
QQ截图20160426110946.jpg


  1. public partial class Form1 : Form
  2.     {
  3.         CountdownEvent hander = new CountdownEvent(10);

  4.         public static object lock_action = new object();
  5.         public Form1()
  6.         {
  7.             InitializeComponent();
  8.         }

  9.         private void button1_Click(object sender, EventArgs e)
  10.         {
  11.             for (int i = 0; i < 10; i++)
  12.             {
  13.                 ThreadPool.QueueUserWorkItem(new WaitCallback(Run1), i);
  14.             }
  15.             textBox1.Invoke(new Action(() =>
  16.             {
  17.                 textBox1.AppendText("按钮1执行完毕".Log());
  18.             }));
  19.         }
  20.         private void button2_Click(object sender, EventArgs e)
  21.         {
  22.             
  23.             //ThreadPool.SetMaxThreads(10, 30);
  24.             for (int i = 0; i < 10; i++)
  25.             {
  26.                 ThreadPool.QueueUserWorkItem(new WaitCallback(Run2), i);
  27.             }
  28.             hander.Wait();
  29.             textBox1.AppendText("按钮2执行完毕".Log());
  30.         }

  31.         private void Run1(object str)
  32.         {
  33.             Thread.Sleep(1000);
  34.             textBox1.AppendText(str.ToString().Log());
  35.         }
  36.         private void Run2(object str)
  37.         {
  38.             Thread.Sleep(1000);
  39.             textBox1.AppendText(str.ToString().Log());
  40.             hander.Signal();
  41.         }
  42.         

  43.         
  44.     }
复制代码



按钮1没有等待所有线程执行完,就执行下面的玩意了

按钮2等待了所有线程执行完了,然后才执行的下面那玩意。




上一篇:关于form表单底下 button自动提交表单的问题
下一篇:使用 Task 替换 ThreadPool ,异步监测所有线程(任务)是否全部执行完毕
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2016-4-27 18:58:14 | 显示全部楼层
学习了,顶顶顶。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-5-28 10:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表