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:"。
本文到此分享完毕,希望对大家有所帮助。
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。