C#中多線程Tread的使用(推薦)
首先是概念,什么是線程?
線程是操作系統(tǒng)分配CPU時間的基本單元,在一個進程中可以有多個線程同時執(zhí)行代碼。
談一談什么是進程?
簡單的說,一個正在運行的應用程序可以視為一個進程,進程間相互獨立,資源不共享,一個進程的運行失敗不會影響另一個進程的運行,一個進程可以啟動多個線程。
進程入口執(zhí)行的第一個線程被視為主線程。在.Net應用程序中,Main方法作為入口函數(shù),被調(diào)用時會啟動一個主線程。
在任務管理器中可以看到進程和線程的運行數(shù)量

多線程:在宏觀角度來看是多個線程并發(fā)執(zhí)行。從微觀角度來看,同一時間只能有一個線程執(zhí)行。
線程的創(chuàng)建(Tread)
using System.Threading;
Thread thread=new Thread(ThreadTest);//創(chuàng)建無參數(shù)線程
Thread thread2=new Thread(ThreadTest2);//創(chuàng)建有參數(shù)線程
thread.Start(); //啟動線程
thread2.Start("aaa"); //啟動有參線程
public void ThreadTest()
{
return;
}
//注意:參數(shù)的類型必須是Object 否則無法作為delegate成為Theard的參數(shù)
public void ThreadTest(Object obj)
{
return;
}同一個線程不可以兩次調(diào)用start,會拋出異常
根據(jù)線程的生命周期來看,只有New狀態(tài)的Thread才可以調(diào)用Start方法,如果已經(jīng)啟動,那么此線程就不是New狀態(tài)了,而是Running狀態(tài)

報錯提醒:No overload for 'method' matches delegate 'delegate'
調(diào)用的delegate的參數(shù)不是Object類型
到此這篇關(guān)于C#中多線程的使用Tread的文章就介紹到這了,更多相關(guān)C#多線程使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WPF開發(fā)之UniformGrid和ItemsControl的應用詳解
為了簡化開發(fā),WPF提供了UniformGrid布局和ItemsControl容器,本文以一個簡單的小例子,簡述如何在WPF開發(fā)中應用UniformGrid和ItemsControl實現(xiàn)均勻的布局,希望對大家有所幫助2024-01-01

