【问题标题】:MSVC contidion_variable clarificationMSVC contdion_variable 说明
【发布时间】:2017-01-21 00:03:27
【问题描述】:

有人可以澄清一下这句话粗体部分的含义吗?如果可能的话,使用代码 sn-p。

我无法确定在这种情况下什么是调用线程函数

condition_variable 在 linux (gcc + pthreads) 上的行为有什么不同吗?

备注

等待条件变量的代码也必须使用互斥锁。 调用线程必须在调用等待条件变量的函数之前锁定互斥锁。当被调用函数返回时,互斥锁会被锁定。在线程等待条件变为真时,互斥锁未锁定。为了没有不可预知的结果,等待条件变量的每个线程必须使用相同的互斥对象。1

我有一个仅在 Windows 上显示的错误。 notify_one() 似乎被忽略了,但如果使用 wait_for() 而不是 wait() 代码可以正常工作(仍在尝试为此生成 MCVE)。

【问题讨论】:

标签: c++ multithreading visual-c++ condition-variable


【解决方案1】:

调用线程是调用std::condition_variable::wait重载函数之一的线程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 2011-01-04
    • 2015-04-03
    • 2013-10-19
    • 2013-08-28
    相关资源
    最近更新 更多