LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1002|回复: 5

请教linux多线程问题?

[复制链接]
发表于 2007-7-25 15:44:49 | 显示全部楼层 |阅读模式
现在正在写一个程序,是多线程的,主进程开了一些线程后,那些线程做的工作是无限循环的,请问有什么好的方法可以在主进程退出时退出所以线程?
发表于 2007-7-25 16:52:19 | 显示全部楼层
主进程直接exit(0) 就可以让其余所有线程退出了.
回复 支持 反对

使用道具 举报

发表于 2007-7-25 18:01:59 | 显示全部楼层
2楼真是快刀斩乱麻,。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-25 19:10:16 | 显示全部楼层
exit(0)是可以,不过还是有数据要处理一下啊~直接exit了就不知道处理到那里了~
回复 支持 反对

使用道具 举报

发表于 2007-7-25 21:56:42 | 显示全部楼层
一般来说这么干

搞个全局变量:
volatile int _terminated = 0;

主线程记录启动的各线程id

各线程:
do
{


} while (!_terminated);

主线程中,退出前,执行:
_terminated = 1;
主线程join所有启动的其他线程
exit(0);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-26 00:32:55 | 显示全部楼层
解决了,谢谢5楼的方法!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表