临界区和锁?
作者:互联网
何为临界区,就是访问临界资源的那段代码。(critical section),临界区是共享资源但是只允许一个进程使用。不论是硬件临界区还是软件临界区,多个进程必须互斥的对它进行访问。
使用注意事项:线程在使用临界区时使用的时间不能过长,临界区中最好不要包含等待用户输入或者其他一些外界干预的操作。使用EnterCriticalSection之后一定要确保与之匹配的LeaveCriticalSection被执行到。临界区只能用来同步本进程内的线程。
加锁和解锁,一个进程对临界区加锁,其他进程试图访问该临界区时,会被设置成睡眠状态,然后被放入等待该锁的队列中。当加锁的进程解锁临界区之后,会从该锁的等待队列中寻找一个进程将其设置为就绪,等待调度。
标签:加锁,临界,线程,进程,区时,等待 来源: https://blog.csdn.net/bwabdbkjdbkjwabd/article/details/121062731