LinuxSir.cn,穿越时空的Linuxsir!

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

不容易出问题:signal<pthread<process<select?

[复制链接]
发表于 2006-6-1 23:32:13 | 显示全部楼层 |阅读模式
异步执行的方法通常有signal,thread, process和select
看到别人的观点:signal最容易出问题,其次是thread和process,select最不容易出问题,是不是这样?
qt,gtk的信号插销机制都基于select,也证实了这种说法?
发表于 2006-6-2 01:03:04 | 显示全部楼层
看不明白……
回复 支持 反对

使用道具 举报

发表于 2006-6-2 11:34:48 | 显示全部楼层
好像不应该这么说吧,这些方法每个都它们自己的特点,而不能说谁好,谁不好,如果要这么比的话,它们应该做为同一类来比较,如果有一个最好的话,其它的也就没有存在必要了!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-2 13:09:21 | 显示全部楼层
中断调用(signal)程序最不好编,好像是公认的(steven也这样认为)。
中断调用和线程(thread)都有可能产生race condition,进程由于严格的分离机制所以避免了这一问题。但缺点是耗用更多资源。select似乎是异步执行的最佳方案。有时不得不涉及到signal时,通过pipe+select通信实现似乎更好一些。
回复 支持 反对

使用道具 举报

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

本版积分规则

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