关于EnterCriticalSection()(转)

好文章的链接:

https://blog.csdn.net/Pro2015/article/details/88786377

QF自己的总结:

之前一直都会看到EnterCriticalSection(cs)和LeaveCriticalSection(cs),知道他们是用来进行线程同步的.

假如存在线程A和线程B使用此种方法来保证线程同步,则他俩都需要有如下的格式:

EnterCriticalSection(cs)

//需要同步的变量操作
...

LeaveCriticalSection(cs)

Enter和Leave之间的代码相当于是处于临界区,当不同的线程都使用同一个cs,其中一个线程进入执行了EnterCriticalSection(cs)还没有执行LeaveCriticalSection(cs)时,另一个线程在执行到EnterCriticalSection(cs)时会被告知有别的线程在临界区内,则他会阻塞在这里,知道别的线程离开了临界区.

猜你喜欢

转载自www.cnblogs.com/Stephen-Qin/p/12305558.html