当前位置: 技术问答>linux和unix
关于多线程的一个问题
来源: 互联网 发布时间:2015-04-27
本文导语: 程序要完成的功能是: 给定一个mac地址,在局域网中查找该mac地址连接到了哪个交换机的哪个端口上。 现在的实现方法是: 对每个交换机建立一个线程进行处理。 问题是: 如果一个线程找到了端口,那么如何从...
程序要完成的功能是:
给定一个mac地址,在局域网中查找该mac地址连接到了哪个交换机的哪个端口上。
现在的实现方法是:
对每个交换机建立一个线程进行处理。
问题是:
如果一个线程找到了端口,那么如何从该进程中停止其他进程?
谁能告诉我多谢了!!!
给定一个mac地址,在局域网中查找该mac地址连接到了哪个交换机的哪个端口上。
现在的实现方法是:
对每个交换机建立一个线程进行处理。
问题是:
如果一个线程找到了端口,那么如何从该进程中停止其他进程?
谁能告诉我多谢了!!!
|
你可以用这个函数来终止其他线程:
你只要给定你要终止的线程号即可。
int pthread_cancel(pthread_t thread);
记着一定要给分,我知道你是披着狼皮的羊心底是善良的!
你只要给定你要终止的线程号即可。
int pthread_cancel(pthread_t thread);
记着一定要给分,我知道你是披着狼皮的羊心底是善良的!
|
-lpthread
|
在编译的时候直接带上参数就行。
用pthread_cancel函数中止某个线程时,在该线程的实现函数中必须先设定该线程是可以被cancel的。
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE,NULL);
pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED,NULL);
用pthread_cancel函数中止某个线程时,在该线程的实现函数中必须先设定该线程是可以被cancel的。
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE,NULL);
pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED,NULL);
|
用make要加在makefile里。
另外用pthread_cancel要慎重。
另外用pthread_cancel要慎重。
|
1。使用IPC.
2。使用信号。
3。...
2。使用信号。
3。...
|
axlw(bloodflower) is right:
应该加上多线程库的连接。
应该加上多线程库的连接。
|
你是停进程还是亭线程