C语言 在 POSIX 线程中挂起和恢复



我正在学习POSIX线程。我的问题 - 如何暂停和恢复 pthread?就像Java中的线程一样,有没有像等待,通知等功能?我想根据某些情况多次运行单个 pthread。

提前致谢

如何暂停和恢复 pthread?就像Java中的线程一样,有没有 功能,如等待,通知等?

阅读有关 pthread 中的条件变量的信息。基本上,条件变量允许您在线程可以继续之前检查条件。例如,假设有 3 个线程只有在某些条件为真时才会继续。如果此条件为假,线程将释放它们持有的互斥锁并"等待"。随着类型pthread_mutex_t共享对象的锁定被释放,其他一些线程将继续执行它们的工作,因此在某个时间点,条件将变为现实(希望如此(。检查名为pthread_cond_wait的函数。

一旦所述条件变为真(或满足(,则函数pthread_cond_signal/pthread_cond_broadcast可用于"通知"正在等待pthread_cond_t对象的线程。然后,这些线程(在这个简单的解释中为 3 个线程(自动获取互斥锁(当然,一次一个线程(并继续其业务。

查看本教程。

我想根据一些多次运行单个线程 情况。

想进一步解释吗?

最新更新