若是您以爲閱讀本文對您有幫助,請點一下「推薦」按鈕,您的承認是我寫做的最大動力!線程
做者:Minotauros
出處:https://www.cnblogs.com/minotauros/code
本文版權歸做者和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。blog
1、可使用位於命名空間System.Threading中的Thrad類開啓線程:函數
//聲明一個新的線程 Thread myThread = new Thread(LoopFunc); //傳遞一個ThreadStart類型的委託(public delegate void ThreadStart()) //開啓該線程 myThread.Start(); //循環函數 void LoopFunc() { while (true) { //do… Thread.Sleep(1000); //用於暫停執行此函數的線程,單位毫秒(千分之一秒) } }
1.經過Thread類的靜態屬性CurrentThread能夠獲取執行當前函數所在的線程,經過實例屬性ManagedThreadId能夠查看當前線程的惟一標識符ID,經過實例屬性Name能夠獲取或設置當前線程的名稱;oop
2.經過Thread類的實例屬性Priority能夠獲取或設置當前線程的優先級,線程的優先級使用枚舉ThreadPriority表示,包括從低到高共5個優先級;
經過Thread類的實例屬性ThreadState能夠獲取當前線程的狀態,線程的狀態使用枚舉組合ThreadState表示;
默認狀況下,使用Thread類建立的線程都是前臺前程,經過Thread類的實例屬性IsBackground能夠設置該線程是否爲後臺線程;post
2、當須要開啓一個無限循環函數的線程時,通常經過while(true){}來實現,此時,如要正確結束該線程,須要修改循環條件,經過外部控制條件是否終止:spa
void LoopFunc() { bool isContinue = true; AppManager.Instance.OnExitAction += () => //給應用關閉事件添加委託,修改執行的判斷條件 { isContinue = false; } while (isContinue) { //do… Thread.Sleep(1000); } return; }
若是您以爲閱讀本文對您有幫助,請點一下「推薦」按鈕,您的承認是我寫做的最大動力!線程
做者:Minotauros
出處:https://www.cnblogs.com/minotauros/code
本文版權歸做者和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。blog