c++ - 如何在 C++ 中的另一个函数中调用一个线程的 "join()"方法?

标签 c++ multithreading

我在主函数中创建了两个线程。我想在另一个线程中的一个线程上调用“join()”方法。

我怎么打电话??

我将“connect”和“sender”作为两个线程运行。现在我想在“void ClientSocket::sender()”方法内的“connect”线程上调用“join()”方法。

可以打电话吗?

这些是我作为两个线程运行的代码片段。

int  ClientSocket::Connect() 
{
    isConnected = connect(clientSock,      (LPSOCKADDR)&serverInfo,sizeof(serverInfo));

    return isConnected;
}

void ClientSocket::sender()
{

    if (isConnected == 0)
    {
send(clientSock, readBuffer.str().c_str(), strlen((char *)readBuffer.str().c_str()), 0);

    }
}

最佳答案

在所有函数之外定义线程处理程序,即将它们定义为全局的。因此它们将在任何地方可用,您可以在所有其他函数中调用两者的 join 方法。

关于c++ - 如何在 C++ 中的另一个函数中调用一个线程的 "join()"方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30560949/

相关文章:

c++ - 循环遍历 vector 时将对象添加到 vector

c++ - 使用基本矩阵通过 OpenCV 计算坐标转换

c++ - 条件预处理器相对于条件语句的优点

Android:Thread.sleep 没有结束

c++ - c++中的每个线程都有自己的内存分配限制吗

wpf - 当应用程序窗口关闭时如何中止线程

c++ - fread 可以是不可租的吗?

c++ - nm 获取整个存档的 undefined symbol ,而不是单独的目标文件

c++ - 如何在 Gecode 中实现 'nested' 成本函数?

java - 并发线程和共享对象死锁