程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c-關於多線程的疑問,求各位大神解答

c-關於多線程的疑問,求各位大神解答

編輯:編程解疑
關於多線程的疑問,求各位大神解答

```using namespace std;

DWORD WINAPI Thread_accept (PVOID lParam)
{
cout<<"進入線程"<<endl;

return 0;

}

int main()
{
WSADATA wsaData;
WSAStartup (MAKEWORD (2, 2) ,&wsaData);

HANDLE Thread;

Thread = CreateThread ( NULL ,0 ,Thread_accept ,NULL ,0 ,NULL);

return 0;

}

為什麼最後輸出的時候子線程並不執行輸出語句?
求各位大神解答

最佳回答:


main函數中,僅僅是通過createthread()創建一個線程,之後的動作就是return,所以不輸出子線程的內容是很正常的。
若是你想讓子線程輸出內容,需要在main和子線程之間通信上做文章,
比如,
1. 定時探測子線程是否退出,若已退出,main再退出。
2. 聲明一個全局變量,當子線程執行時賦值為1 ,main中判斷該全局變量是否已變為1,若是,則退出。
還有很多其他方法!
希望我的解答,對你有所啟發!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved