我希望能够从我的程序中的主线程启动一个新线程。目前我正在使用以下代码:
std::thread acceptThread(Accept);
acceptThread.join();
但是阻止主线程的延续直到acceptThread
“完成”。我不想要这个。我只是希望它在不同的线程上运行,以便主线程可以继续。我该怎么做?
我想要的是一个接受传入连接的循环和一个发送/接收数据的循环。这些应该同时运行。
答案 0 :(得分:3)
join()
的整个点是阻塞,直到另一个线程退出。摆脱它。你为什么要首先添加它?
答案 1 :(得分:1)
std :: thread acceptThread(Accept);
创建并启动一个新线程,该线程将调用" Accept"方法,这在你的情况下已经足够了。
不需要你的第二行,join会阻止当前线程unil连接的一个退出。