我正在阅读有关互斥量、信号量和临界区的内容。我知道互斥锁同步资源,以便一次只有一个线程访问它信号量允许特定数量的线程访问资源但是关键部分做什么??
最佳答案
在正常使用中,临界区是一段必须连续执行的代码——也就是说,在任何给定时间只有一个线程可以执行该代码。您通常通过使用互斥信号量保护代码来实现这一点。
用 Windows 的说法,临界区是一种数据结构(和一些相关函数),它在特定于进程的互斥信号量中实现(即,仅用于在单个进程中的线程之间进行锁定,而不是在单独的进程之间进行锁定) .
有两种信号量。互斥信号量一次只允许一个线程执行。计数信号量允许您指定可以同时执行的最大线程数。互斥信号量是更常见的品种,但计数信号量肯定也有用途。
关于c++ - 什么是线程中的关键部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10456292/