易截截图软件、单文件、免安装、纯绿色、仅160KB

linux下面如何让线程等待多个事件?

rt
使用I/O多路转接,select/poll/epoll。

首先,你所说的事件是什么?是signal还是condition

如果是signal,因为线程有别于进程,所以可以这样做。在线程内设置信号屏蔽位,将期望处理的信号位放

开,其余的block,然后再关联信号处理程序。

如果是condition,那就在线程里需要这个condition的时候直接pthread_cond_wait,等到condition满足的

时候再继续向下执行

而你说的多个事件,和以上的处理方法差不多,但是还是要先去分是哪种。这两种可是完全不同的机制

看你对事件的定义是什么?
1、如果是定时、网络或文件I/O事件,可以通过select/poll/epoll来解决。
2、如果是异步磁盘I/O事件,可以通过AIO来解决。
3、如果是信号和条件,可以通过设置信号处理函数和pthread_cond_wait来处理。



相关问答:

有关linux安装脚本kickstart的编写

我之前制作的linux自动安装iso已经成功了,现在想对其进行一些定制修改,比如,更改grub图片等。
我在ks.cfg的%post段里面是这样写的:
%post --nochroot
# Move the contents of the tar into their new locati ......

linux教程 - Linux/Unix社区 / 系统维护与使用区

有什么好的Linux教程吗?
小弟谢过~
[问题点数:0分]

google

据说鸟哥的私房菜不错。

鸟哥的Linux私房菜
更多的再这上面去搜索一下很LIUNX书籍还不错

引用
google
正解

鸟哥的Linux私房菜  ......

Linux如何在图形界面和命令行之间切换 [

各位大虾,我正在学习Linux,可是Linux图形界面和命令行之间切换遇到困难,在命令行下输入startx,不是进入图形界面 
而是出现
请问各位,这是为什么? 而且按Ctrl+Alt+F7,也不能命令行进入图形界面。&nbs ......

LINUX下卸载JDK问题

我用RPM报安装了一个老版本的JRE,后来想装新版本的,
不过,我把/usr/java目录直接给删了,
后再安装的时候,总是提示版本冲突,
而且我用RPM包卸载时也找不到文件了。
我对LINUX不熟悉,希望高手帮忙。
http: ......

是选win2008还是suse linux、redhat、centos,犹豫中

引用内容vsking 2009-12-25 22:56:52
现在是win2008和iis8的时代了,不要还停留在iis5时代,win2008被评为十佳操作系统之首不是偶然的,你要是..
我的问题是:
最近想买个服务器,看了dell上的系统定制选择,一些 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号