我正在做一个基于线程的简单教程。在本练习中,我应该让线程相互等待。
我已经逐字复制了示例代码,但我没有使用namespace std;
,而是在每次需要时都在std::
写入。
有问题的错误对应于以下行:
if (condition.wait_for(std::unique_lock<std::mutex>(mut), std::chrono::seconds(3)))
Intellisense告诉我“表达式必须具有bool类型(或者可以转换为bool)”但我查找了condition.wait_for
上的文档,它可以返回std::cv_status::timeout
,std::cv_status::no_timeout
as以及true
和false
。当我去构建时,它认为它只能返回std::cv_status
。
它应该正常吗?它需要第三个参数吗?我正在关注的例子没有使用。
答案 0 :(得分:0)
正如Bo所说,该功能有两个版本。我将假设示例中有一个拼写错误,它意味着使用带有三个参数的函数版本,这里是一些工作代码,我不知道它是否与预期的示例相同。< / p>
websockets.py