0

我正在编写一个 SMT 程序,并且正在尝试解决一个有趣的问题。

我需要我的所有函数一起退出,但是有些线程卡在障碍物上,即使我不希望它们这样做。

我的问题是:当我删除障碍时会发生什么?线程是否卡在屏障释放处?有没有办法向某个障碍发出释放信号,即使障碍处的线程数尚未达到?

谢谢

4

1 回答 1

0

pthread_barrier_destroy()如果屏障上阻塞了任何线程,则调用是不合法的。

当您的线程决定在其他线程可能在障碍处等待它的情况下提前退出时,它应该pthread_barrier_wait()在退出之前调用。

于 2015-10-12T08:35:40.903 回答