C#中关于多线程编程的示例代码
来源:互联网 发布:淘宝禁售商品退款 编辑:程序博客网 时间:2024/03/29 13:48
先来看看使用Thread类来实现多线程,示例代码如下:
注意:
可以通过workerThread.Priority = ThreadPriority.X设置线程的优先级。
ThreadPriority是个枚举类型,包括:Highest,AboveNormal,Normal,BelowNormal和Lowest。
一般当前线程(Thread.CurrentThread)被默认设置成Normal。
不过如今的CPU都已经相当的快了,上例中即便把workerThread.Priority = ThreadPriority.Highest;当输入的数字很小,譬如输入1,也就是运算量较小的时候,主线程也能顺利的抢在Work线程之前完成任务的。但是随便interval设置值增大,情况就有所不同了。
再来看看如何使用ThreadPool创建线程:
使用Thread类来创建线程是很昂股的(CPU密集型)。所以CLR提供了线程池来供应用程序使用,演示代码如下:
注意:
使用WaitCallback委托时还可以传送一个参数,例如把上面的代码改成:
ThreadPool.QueueUserWorkItem(new WaitCallback(StartMethod), "First Thread");
Thread.Sleep(100);
ThreadPool.QueueUserWorkItem(new WaitCallback(StartMethod), "Second Thread");
Console.ReadLine();
接着在StartMethod里可以使用它,例如;
static void StartMethod(Object stateInfo)
{
//DisplayNumbers("Thread " + DateTime.Now.Millisecond.ToString());
DisplayNumbers("Thread " + stateInfo.ToString());
Console.WriteLine("Thread Finished");
}
- C#中关于多线程编程的示例代码
- 关于Java中多线程死锁的代码示例
- C#中关于委托和事件的示例代码
- linux中多线程编程的简单示例
- 关于C#多线程编程
- C#中关于泛型方法和泛型委托的示例代码
- C# 中多线程编程
- C#中多线程编程
- 多线程编程之PV操作示例代码
- 简单的多线程编程示例
- 关于java多线程编程的基础代码分析实例
- 关于多线程的编程
- C#中关于TreeView的WinForm编程
- iOS中多线程编程示例【code】
- c#的delegate示例代码
- 操作系统中关于信号量操作的代码示例(Linux + windows)
- 操作系统中关于信号量操作的代码示例(Linux + windows)
- MSDN关于C++中heap corrupt的代码示例
- c++
- 改变IT世界的11大Apache开源技术
- ckeditor3.3工具栏配置
- 快速排序代码
- 宽屏窄屏的网页宽度设置
- C#中关于多线程编程的示例代码
- WM模拟器 中无法传输UDP包的解决方法( 的配置问题 )
- DeskBand 实现3(代码实现)
- DeskBand 实现4(四个函数)
- DeskBand 实现5(注册)
- 刷新时间的两种方法(倒计时)
- sqlcmd 实用工具
- MFC打开另一个进程(word)
- 新手学堂——JAVA从零开始教程(动画视频同步)