C# 多线程随手记
来源:互联网 发布:阿里云短信接口 编辑:程序博客网 时间:2024/06/07 00:50
直接上代码
/// <summary> /// 执行多线程方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnThread_Click(object sender, EventArgs e) { } private void btnThreadPool_Click(object sender, EventArgs e) { //使用线程池 ThreadPool.QueueUserWorkItem(t => Console.WriteLine(string.Format("线程ID:{0}", Thread.CurrentThread.ManagedThreadId))); ThreadPool.QueueUserWorkItem(t => { Console.WriteLine(string.Format("线程ID:{0},{1}", Thread.CurrentThread.ManagedThreadId, t)); }, "传递给线程的参数"); } /// <summary> /// Task方式 启动多线程 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnTask_Click(object sender, EventArgs e) { for (int i = 0; i < 1500; i++) { Task task = new Task(TaskMethon); task.Start(); } } /// <summary> /// 多线程TaskFactory /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnFactory_Click(object sender, EventArgs e) { List<Task> tasks = new List<Task>(); TaskFactory taskFactory = new TaskFactory(); for (int i = 0; i < 10; i++) { //模拟添加多个任务,例如查询数据库,查询缓存等等。。。 tasks.Add(taskFactory.StartNew(TaskMethon)); } //等待所有任务完成后执行 taskFactory.ContinueWhenAll(tasks.ToArray(), t => { Console.WriteLine("当所有任务执行完成后,进行后续操作!"); }); } #region 线程测试方法 private void TaskMethon() { Console.WriteLine(string.Format("线程ID:{0}", Thread.CurrentThread.ManagedThreadId)); } private void ThreadMethon(string name) { Console.WriteLine(string.Format("线程ID:{0}\t参数:{1}", Thread.CurrentThread.ManagedThreadId, name)); } #endregion
0 0
- C# 多线程随手记
- Java多线程随手记——开始记录
- Java多线程随手记——各种锁
- 实习随手记-MFC多线程分解复制文件
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 2016年湖南省第十二届大学生计算机程序设计竞赛:A—2016
- Python: 函数与方法的区别 以及 Bound Method 和 Unbound Method
- java.lang.IndexOutOfBoundsException: Inconsistency detected.
- 外观模式
- dumpsys原理
- C# 多线程随手记
- log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader)
- AngularJS 设置元素样式
- 浅谈四轴PID调试心得
- Python: 解释 yield 和 Generators(生成器)
- 计算导论与C语言基础week6
- 关于一些暴力的事情:枚举(1)
- Paint之setXfermode----实现刮刮乐效果
- UE4 蓝图之间交互