std :: condition_variable :: wait()一个POSIX线程取消点吗?

时间:2015-03-19 17:22:51

标签: c++ posix

主题行说明了一切。我的环境是一个带有C ++ 11编译器的Linux系统。

有人知道吗?

1 个答案:

答案 0 :(得分:1)

这当然是标准中未定义的内容,因此无法以跨平台的方式回答。

但是,如果std::condition_variable::native_handle的类型为pthread_cond_t*,那么您可以相对确定std::condition_variable::wait也会使用pthread_cond_wait。尽管如此,没有任何关系,所以唯一安全的方法是检查你的实施。

此外,我会限制将标准工具与POSIX等平台特定的东西混合使用。我要么采用完整的POSIX方式,要么使用标准替代方案,如提升中断点。