小编cur*_*age的帖子

pthreads:来自临界区内的pthread_cond_signal()

我在线程A中有以下代码,它阻止使用 pthread_cond_wait()

pthread_mutex_lock(&my_lock);     
if ( false == testCondition )        
    pthread_cond_wait(&my_wait,&my_lock); 
pthread_mutex_unlock(&my_lock);
Run Code Online (Sandbox Code Playgroud)

我在线程B中有以下代码,它代表线程A

pthread_mutex_lock(&my_lock);  
testCondition = true;
pthread_cond_signal(&my_wait);
pthread_mutex_unlock(&my_lock);
Run Code Online (Sandbox Code Playgroud)

如果没有其他线程,如果pthread_cond_signal(&my_wait)移出临界区块,它会有什么不同,如下所示?

pthread_mutex_lock(&my_lock);  
testCondition = true;
pthread_mutex_unlock(&my_lock);
pthread_cond_signal(&my_wait);
Run Code Online (Sandbox Code Playgroud)

mutex signals pthreads critical-section

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

critical-section ×1

mutex ×1

pthreads ×1

signals ×1