代码是只读的,所以代码本身并不需要加锁。但是如果代码访问了不能共享的资源,那么就必须为这些资源加锁。
InitializeCriticalSection(&cs);//初始化
EnterCriticalSection(&cs);//进入
//函数内容.....
LeaveCriticalSection(&cs);//离开
DeleteCriticalSection(&cs);//删除
windows直接开临界区linux上mutexC++11用库函数
简单点的,可以用个静态变量判断在线程启动前对静态变量进行判断,适合再启动。