std :: thread:定时加入

时间:2015-04-02 13:52:46

标签: multithreading c++11 join

我正在编写一个多线程应用程序。在一个部分中,将删除一个线程。我想给Thread一些时间来清理所有内容,但是可能有一点,线程等待userdata和blocks。我想加入线程,如果在X秒内不可能,那么它将被删除。如何在不使用boost的情况下使用C ++ 11实现这一目标?我知道boost有一个try_join_for,但是std :: thread似乎没有这个功能。

更好理解的代码:

while (clientRunning) {
    char data[8192];
    recv(sockfd,data,8192,MSG_WAITALL);
}

此功能在线程内(减少到最小)。现在我想使用thread-> join();加入这个主题。并且加入超时,所以它会尝试加入让我们说2分钟,如果没有发生,它将强制终止该线程。

0 个答案:

没有答案