.net 多线程笔记
来源:互联网 发布:网站改版优化 编辑:程序博客网 时间:2024/04/28 00:27
<pre name="code" class="csharp">using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace ThreadSample{ public class Program { static void Main(string[] args) { CreateThread1(); //CreateThread2(); //CreateThread3(); Console.ReadLine(); } /// <summary> /// 简单线程 /// </summary> private static void CreateThread1() { for (int threadidx = 0; threadidx < 10; threadidx++) { Thread t = new Thread(new ThreadStart(fun1)); t.Start(); } } /// <summary> /// 带参数线程 /// </summary> private static void CreateThread2() { for (int threadidx = 0; threadidx < 10; threadidx++) { ParameterizedThreadStart ParStart = new ParameterizedThreadStart(fun2); Thread myThread = new Thread(ParStart); ThreadArgs args = new ThreadArgs { ThreadIdx = threadidx, ThreadName = "线程" + threadidx, Memo = "备注" }; myThread.Start(args); } } /// <summary> /// 线程执行完处理 /// </summary> private static void CreateThread3() { List<System.Threading.Tasks.Task> tasks = new List<System.Threading.Tasks.Task>(); for (int threadidx = 0; threadidx < 10; threadidx++) { ThreadArgs args = new ThreadArgs { ThreadIdx = threadidx, ThreadName = "线程" + threadidx, Memo = "备注" }; System.Threading.Tasks.Task task = System.Threading.Tasks.Task.Factory.StartNew((object obj) => fun2(obj), args); tasks.Add(task); } System.Threading.Tasks.Task.WaitAll(tasks.ToArray()); Console.WriteLine("所有线程执行完毕"); } private static void fun1() { Console.WriteLine("call fun1"); } /// <summary> /// 带参数方法 /// </summary> /// <param name="obj"></param> private static void fun2(object obj) { ThreadArgs args =(ThreadArgs)obj; Console.WriteLine("call fun2 --idx:"+args.ThreadIdx +"--name:" + args.ThreadName); } } /// <summary> /// 参数 /// </summary> public class ThreadArgs { public int ThreadIdx; public string ThreadName; public string Memo; }}
0 0
- .net 多线程笔记
- .net 多线程笔记
- .net多线程学习笔记1
- 黑马程序员--.NET笔记--多线程
- .net多线程学习笔记 2 thread生命周期
- VB.NET 多线程调用(笔记)
- .Net 多线程
- 。NET多线程
- .NET多线程
- .NET 多线程
- .Net 多线程
- .NET 多线程
- .NET多线程
- .net 多线程
- .net 多线程
- .net多线程学习笔记 3 线程间同步
- 多线程笔记
- 多线程笔记
- RunTime的使用
- 文字霓虹灯效果
- 天气API接口大全(nohacks.cn 收集整理)
- RS485芯片介绍及典型应用电路
- 数据类型
- .net 多线程笔记
- 设计模式简要总结
- TweenedAnimation 四种动画效果参数详解
- TextFiled使用详解
- 互联网开发的社区活动
- 并发-基础
- 将Maven项目打包成可执行jar文件(引用第三方jar)-支持Spring的项目
- ADB环境
- android studio一键生成快速开发实现语言国际化