C++多线程调用同一个函数,怎么对函数加锁

2025-05-13 17:29:01
推荐回答(3个)
回答1:

代码是只读的,所以代码本身并不需要加锁。但是如果代码访问了不能共享的资源,那么就必须为这些资源加锁。
InitializeCriticalSection(&cs);//初始化
EnterCriticalSection(&cs);//进入
//函数内容.....
LeaveCriticalSection(&cs);//离开
DeleteCriticalSection(&cs);//删除

回答2:

windows直接开临界区linux上mutexC++11用库函数

回答3:

简单点的,可以用个静态变量判断在线程启动前对静态变量进行判断,适合再启动。