我是多线程技术的新手,正在尝试创建一个支持多线程的应用程序。但是我想停止和特定线程。 我看到了rhe终止()函数,但是它将停止所有线程。
std::thread at(receivedfxn, sock);
at.detach();
这是我想停止的话题,所以任何人都可以告诉我解决方法。
答案 0 :(得分:1)
通常,只有一种正确的方法可以使线程在正常程序流中结束,即通过返回线程函数。
我不知道您的receivedfxn
到底能做什么,但是我怀疑它会等待一些数据到达sock
然后返回!停止该线程的自然方法是关闭套接字,这反过来又会导致任何待处理的接收操作被中断并返回……