什么是entercriticalsection?entercriticalsection的原型是什么?

来源:汪清新闻网 | 2023-04-26 13:39:19 |

多个线程操作相同的数据时,一般是需要按顺序访问的,否则会引导数据错乱,无法控制数据,变成随机变量。为解决这个问题,就需要引入互斥变量,让每个线程都按顺序地访问变量。这样就需要使用EnterCriticalSection和LeaveCriticalSection函数。

entercriticalsection的原型是什么?

比如说我们定义了一个共享资源dwTime[100],两个线程ThreadFuncA和ThreadFuncB都对它进行读写操作。当我们想要保证 dwTime[100]的操作完整,即不希望写到一半的数据被另一个线程读取,那么用CRITICAL_SECTION来进行线程同步如下:

第一个线程函数:DWORD WINAPI ThreadFuncA(LPVOID lp)

{

EnterCriticalSection(&cs);

...

// 操作dwTime

...

LeaveCriticalSection(&cs);

return 0;}

 


备案号:粤ICP备18023326号-41 联系网站:85 572 98@qq.com