[C#語法] 多執行緒相關操作

暫記

using System.Threading; //必要引用

//啟動額外執行緒
ThreadStart run = new ThreadStart(ConnectReader);
var thread = new Thread(functionName);
thread.Start();

//啟動帶參數額外執行緒(參數只能有一個,而且資料型態必須是object)
ParameterizedThreadStart run = new ParameterizedThreadStart(object parameter));
thread_StartReader = new Thread(run);
thread_StartReader.Start();

//與多執行緒有關的應用方法
BeginInvoke(IAsyncResult); //當呼叫此執行緒的執行緒結束後才執行
Invoke(IAsyncResult);      //直接執行呼叫的執行緒
EndInvoke(IAsyncResult);   //結束指定的執行緒

//免宣告委派直接在主執行緒執行function
if (InvokeRequired){
	//不帶參數
	BeginInvoke(new Action(functionName));
	//帶參數
	BeginInvoke(new Action<參數型別,參數型別,..>(方法名稱), 參數1, 參數2,..參數N);
	BeginInvoke(new Action<bool, string>(functionName), false, ex.Message);
}