gpt4 book ai didi

pthread_cond_signal 会导致崩溃吗?

转载 作者:行者123 更新时间:2023-11-30 18:03:54 25 4
gpt4 key购买 nike

我有几个线程,它们相互传递数据并对其进行一些处理。一旦我在最后两个线程之间进行同步,程序就开始崩溃。我对线程没有太多经验,所以我没有调试,而是评论了最后一个线程的全部内容,因此它只是在 while 循环中运行,另一个线程保持不变,除了同步部分之外

pthread_mutex_lock(&mutex);
pthread_cond_signal(&cond);
pthread_mutex_unlock(&mutex);

然后我也发表了评论,这使得应用程序可以正常运行而不会崩溃。

程序的其余部分绝对不依赖于互斥体或条件变量。如果我只评论 pthread_cond_signal(&cond); ,它也有效。对正在发生的事情有什么想法吗?

最佳答案

嗯,这段代码实际上没有任何意义。如果您没有更改受互斥锁保护的任何变量的值,那么发出条件变量信号有何意义?此外,您可以在持有或不持有互斥锁的情况下发出信号,因此不需要锁定/解锁。 (如果您不了解条件变量的基本用途,请参阅 Condition Variables。)

但它崩溃的唯一可能原因是 cond 未正确初始化、cond 被破坏或 cond 已损坏通过覆盖其内存的东西。

关于pthread_cond_signal 会导致崩溃吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7909709/

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