beginthreadex(beginthreadex)
2023-03-15 14:11:10
•
来源:
导读 大家好,小金来为大家解答以上的问题。beginthreadex,beginthreadex这个很多人还不知道,现在让我们一起来看看吧!1、1,错误,应该首先初始化
大家好,小金来为大家解答以上的问题。beginthreadex,beginthreadex这个很多人还不知道,现在让我们一起来看看吧!
1、1,错误,应该首先初始化临界区,然后再使用.2,需要判断线程都退出后再删除临界区.3,最好使用_beginthreadex来创建线程.4,Sleep(4000);使用的并不好,修改为等待两个线程结束。
2、5,tickets变量使用volatile来修饰。
3、修改后的代码如下#include#includeusing namespace std;volatile int tickets = 100;CRITICAL_SECTION sp;DWORD WINAPI ThreadProc( LPVOID lpParameter ){ WaitForSingleObject((HANDLE)lpParameter, INFINITE); Sleep(0); while(TRUE) { EnterCriticalSection(&sp); if(tickets>0) { cout0) { cout<<"Thread2 Sell The ticket:"。
本文到此分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,如有侵权请联系删除!