c语言多线编程程序,C语言之多线编程 来看看?
用進程和線程的觀點來研究軟件是當今普遍采用的方法,進程和線程的概念的出現,對提高軟件的并行性有著重要的意義。
什么是線程
要講解線程,不得不說一下進程,進程是應用程序的執行實例,每個進程是由私有的虛擬地址空間、代碼、數據和其它系統資源組成。進程在運行時創建的資源隨著進程的終止而死亡。線程的基本思想很簡單,它是一個獨立的執行流,是進程內部的一個獨立的執行單元,相當于一個子程序,它對應于Visual C++中的CwinThread類對象。
線程的種類
線程被分為兩種:用戶界面線程和工作線程(又稱為后臺線程)。用戶界面線程通常用來處理用戶的輸入并響應各種事件和消息,其實,應用程序的主執行線程CWinAPP對象就是一個用戶界面線程,當應用程序啟動時自動創建和啟動,同樣它的終止也意味著該程序的結束,進程終止。工作線程用來執行程序的后臺處理任務,比如計算、調度、對串口的讀寫操作等,它和用戶界面線程的區別是它不用從CWinThread類派生來創建,對它來說重要的是如何實現工作線程任務的運行控制函數。
啟動線程
對于工作線程來說,啟動一個線程,首先需要編寫一個希望與應用程序的其余部分并行運行的函數如Fun1(),接著定義一個指向CwinThread對象的指針變量*pThread,調用AfxBeginThread(Fun1,param,priority)函數,返回值賦給pThread變量的同時一并啟動該線程來執行上面的Fun1()函數,其中Fun1是線程要運行的函數的名字,也既是上面所說的控制函數的名字,param是準備傳送給線程函數Fun1的任意32位值,priority則是定義該線程的優先級別,它是預定義的常數。
線程優先
這里的優先級,是相對于該線程所處的優先權層次而言的,處于同一優先權層次的線程,優先級高的線程先運行;處于不同優先權層次上的線程,誰的優先權層次高,誰先運行。
總結
以上是生活随笔為你收集整理的c语言多线编程程序,C语言之多线编程 来看看?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 暴力除法C语言,暴力除法
- 下一篇: 如果一个c语言float型变量被赋予初值