gpt4 book ai didi

c++ - 究竟什么是临界区?

转载 作者:可可西里 更新时间:2023-11-01 18:17:59 25 4
gpt4 key购买 nike

只是想稍微澄清一下。想象一下,我使用 EnterCriticalSection 的 windows api。我用 EnterCriticalSection(&criticalsection);

调用它们

这是多线程的线程函数

void thread (){

//enter critical section (part 1)
data
//leave critical section
///more data 1
//entercritical section (part 2)
//more data 2
//leave critical section

}

一旦一个线程进入临界区(part 1),其他线程就不能进入那个区段,不管 more data 1 是否真的有共享数据对不对?同样在此期间,其他线程也无法进入临界区的第 2 部分。

最佳答案

临界区是一个代码块。如果有任何线程进入它,则在它空闲之前没有其他线程可以进入。如果 1 和 2 是不同的临界区(即由不同的信号量处理),如果 1 被占用,有人可以输入 2。

关于c++ - 究竟什么是临界区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5607157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com