c++ 創建線程用CreateThread后,線程直接就開始執行了嗎


//CreateThread函數的參數原型如下
HANDLE CreateThread(
  LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
  SIZE_T dwStackSize, // initial stack size
  LPTHREAD_START_ROUTINE lpStartAddress, // thread function
  LPVOID lpParameter, // thread argument
  DWORD dwCreationFlags, // creation option //這里指明建立后的線程是掛起還是直接運行
  LPDWORD lpThreadId // thread identifier
  );

(1)CREATE_SUSPENDED(0x00000004):創建一個掛起的線程,這時候你需要調用resumethread()函數來手段將其釋放,才能執行線程
(2)0:表示創建后立即激活。 這時候創建的線程會馬上進入到任務等待隊列,等待執行。

 同理CreateProcess也是類似的,不過它的取值類型更多,網上沒有介紹dwCreationFlags為0的情況,估計和線程一樣的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM