当前位置: 技术问答>linux和unix
请linux下多线程编程的高手进来下
来源: 互联网 发布时间:2015-10-17
本文导语: 兄弟现在很迷惑!查google也没找到答案,越来越晕,请高手棒喝下。 请问,1. 当向多线程进程发送CTRL-C时,所有的线程都会收到这个SIGINT信号吗?还是只有主线程能收到?还是只有任意一个线程能收到? 2. 如果是...
兄弟现在很迷惑!查google也没找到答案,越来越晕,请高手棒喝下。
请问,1. 当向多线程进程发送CTRL-C时,所有的线程都会收到这个SIGINT信号吗?还是只有主线程能收到?还是只有任意一个线程能收到?
2. 如果是后两种情况,那么收到此信号的线程要不要或者有没有能力给其他线程发送退出信号?
3. 如果此接受到信号的线程exit,或者pthread_exit, 那么所有的线程都会退出吗?那些线程中的握有的句柄,比如文件描述符,套接字什么的,能够自动释放吗?
我现在最大的担心,就是主进程exit()后,子进程打开的文件描述符和创建的套接字 不能释放,从而造成内存泄漏。
请指教!!
请问,1. 当向多线程进程发送CTRL-C时,所有的线程都会收到这个SIGINT信号吗?还是只有主线程能收到?还是只有任意一个线程能收到?
2. 如果是后两种情况,那么收到此信号的线程要不要或者有没有能力给其他线程发送退出信号?
3. 如果此接受到信号的线程exit,或者pthread_exit, 那么所有的线程都会退出吗?那些线程中的握有的句柄,比如文件描述符,套接字什么的,能够自动释放吗?
我现在最大的担心,就是主进程exit()后,子进程打开的文件描述符和创建的套接字 不能释放,从而造成内存泄漏。
请指教!!
|
在多线程中用信号很乱,不知道那个线程会收到此信号。
如果主进程退出,他所占用的资源都会释放。
pthread_exit当前线程退出。
exit 主线程退出
如果主进程退出,他所占用的资源都会释放。
pthread_exit当前线程退出。
exit 主线程退出
|
放心进程退出什么东西都释放了
|
如果你是ctrl c的默认中断处理函数
应该不用担心这个 创建线程的进程退出 了
应该不用担心这个 创建线程的进程退出 了
|
楼主,可以使用条件变量来完成。很简单的,可以控制一个或者多个线程收到,却别在于设置广播标志。如果担心释放问题,可以在住进程中设置一个循环,jion各个线程就可以了。
不然,在每个子线程创建的时候可以detch一下,确保线程结束时自己搞定一切的事情。
具体实现太长,楼主有空可以查阅一下steven的网络编程。说明的很详细
不然,在每个子线程创建的时候可以detch一下,确保线程结束时自己搞定一切的事情。
具体实现太长,楼主有空可以查阅一下steven的网络编程。说明的很详细
|
在具有多线程的操作系统中,进程中只包括资源和代码,并不执行,主线程去执行。