当前位置: 技术问答>linux和unix
如何停止一个线程呢?
来源: 互联网 发布时间:2015-11-16
本文导语: 我做了一个服务器程序,负责采集,是在线程中进行的。如果客户发“Start”命令,则采集开始。发“Stop”命令,则采集停止。我现在是使用全局变量的方法,感觉不太专业,有更好的方法吗? | ...
我做了一个服务器程序,负责采集,是在线程中进行的。如果客户发“Start”命令,则采集开始。发“Stop”命令,则采集停止。我现在是使用全局变量的方法,感觉不太专业,有更好的方法吗?
|
全局变量有互斥的问题,它并不是原子操作,在某些情况下会出莫名其妙的逻辑问题,所以推荐你还是用进程、线程间互斥与同步的各种手段来做
|
线程方便的地方就是可以使用全局变量啦
|
全局变量也没什么不好,不过不要太多了,呵呵.
|
用pthread_kill向线程发信号,信号处理函数用pthread_setspecific设置标志,就可以不用全局变量了。