Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在阅读有关互斥锁、信号量和关键部分的信息。我知道互斥锁会同步资源,以便一次只有一个线程访问它,信号量允许特定数量的线程访问资源,但关键部分做什么?
在正常使用中,临界区是必须串行执行的一段代码——即在任何给定时间只有一个线程可以执行该代码。您通常通过使用互斥信号量保护代码来实现这一点。
在 Windows 的用语中,临界区是一种数据结构(以及一些相关的函数),它在特定于进程的互斥信号量(即,仅用于在单个进程中的线程之间锁定,而不是在单独的进程之间)实现。
信号量有两种。互斥信号量一次只允许一个线程执行。计数信号量允许您指定可以同时执行的最大线程数。互斥信号量是更常见的品种,但计数信号量肯定也有用途。