C#線程與線程池的使用

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");
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章