我有一个单独的线程ListenerThread
,它有一个套接字监听由某个远程服务器广播的信息。这是在我需要开发的一个类的构造函数中创建的。查杀具有套接字的单独线程
由于要求,一旦单独的线程启动,我需要避免主线程上的任何阻塞函数。 一旦涉及到调用我的类的析构函数的时候,我不能在侦听器线程上执行联接,因此我唯一能做的就是杀死它。
我的问题是:
会发生什么由传递给THEAD功能分配网络resoruces?套接字是否正确关闭,或者可能有未决事项? (最担心这个)
这个过程是否足够快,即线程是否被杀死,以便立即中断?
我使用Linux ...我可以检查什么命令或者什么,以确保没有网络资源的未决或出现了错误的操作系统
我非常感谢你太多的帮助
问候 MNSTN
注意:我使用boost ::线程C++
谢谢尼古拉! 你能确认,即使我使用PTHREAD,我也有使用pthread_cancel或pthread_kill或其他函数的问题吗?由于操作系统中的网络资源,相同的自我管理技巧必须适用,对吧? – user311906 2010-04-13 16:05:07
我不会说* must *,但它的工作原理是相同的('boost :: thread'是在Unix上用PThreads实现的。) – 2010-04-13 16:26:41