天天看點

Win32多線程之主線程

主線程:

   程式啟動後就執行的那個線程稱為主線程(primary thread)。主線程有兩個特點:

     第一,它不許負責GUI(Graphic User Interface)程式中的主消息循環;

     第二,這一線程結束(不論是因為傳回或因為調用了ExitThread())會使得程式中的所有線程都被迫結束。程式也是以而結束,

其它線程沒有機會做清理工作。

   這是C runtime library 造成這樣的結果,那是由于“當main()傳回因而結束主線程”時,它們當時的行為所緻。

  請記住一點,在main()或者WinMain()結束(傳回,returned)之前,總是先等待所有的線程都結束。

   在主線程中調用ExitThread(),将會導緻主線程結束而“worker線程”繼續存在。然而這麼做會跳過runtime library中的清理(cleanup)函數,因而沒有将已開啟的檔案清理掉,我不建議你這麼做。

繼續閱讀