C#线程与线程池的使用
原创
©著作权归作者所有:来自51CTO博客作者sunzongbao2007的原创作品,请联系作者获取转载授权,否则将追究法律责任
using System;
using System.Threading;
class ThreadTest
{
public static void Main(){
MyThread mt=new MyThread();
//Thread t0=new Thread(new ThreadStart(method1));
//Thread t1=new Thread(new ThreadStart(method2));
//Thread t2=new Thread(new ThreadStart(mt.method3));
//t0.Start();
//t1.Start();
//t2.Start();
//以上注释掉的就是正常线程创建与使用的方法
//以下是使用线程池进行系统自动管理后台线程
ThreadPool.QueueUserWorkItem(new WaitCallback(method1));
ThreadPool.QueueUserWorkItem(new WaitCallback(method2));
ThreadPool.QueueUserWorkItem(new WaitCallback(mt.method3));
//因为线程池创造线程属于守护线程,前台停止自然后台也停止,所以
//使用ReadLine()阻塞,查看结果
Console.ReadLine();
}
public static void method1(Object stateInfo){
//使用线程池必备参数Object
//没有这个参数使用线程池编译不过,应该是发送前台消息的一个参数
for(int i=0;i<1000;i++)
{
Console.Write("a");
Thread.Sleep(10);
}
}
public static void method2(Object stateInfo){
for(int i=0;i<1000;i++){
Console.Write("b");
Thread.Sleep(10);
}
}
}
class MyThread{
public void method3(Object stateInfo){
for(int i=0;i<1000;i++){
Console.Write("C");
}
}
}
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C# 线程池示例
C# 线程池示例
职场 C# 休闲 线程池示例 -
【CLR】C#线程池如何管理线程
前言线程池管理机制随着CLR的版本不断变化,最好将线程池看成一个黑盒。它不是针对某一种程序设计的,也不适合用某个程序去衡量它的性能。目前来看工作情况还
c# 多线程 线程池 ThreadPool clr via c#