linux下按键驱动用和不用poll的本质区别在哪

zzfei90 2013-01-11 05:16:06
如题
如果使用poll的话,应用程序会在poll中一直等,如果不用的话,会在read中一直等,这有什么区别吗?只不过是等待的地方不同而已吗?
...全文
878 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangbei_lengyu 2013-01-17
  • 打赏
  • 举报
回复
poll功能更强大,实现了比没有实现前者程序更灵活。
zzfei90 2013-01-15
  • 打赏
  • 举报
回复
引用 8 楼 jinrich 的回复:
引用 7 楼 kickxxx 的回复:poll 可以等待的事件多一些,如果只是等待读数据,那么两种方式都可以。 就是等的地点不一样,一个是在poll处;一个在read处,效率都非常高,无数据时进程都会在等待队列上休眠,一旦有数据后,kernel负责唤醒相应的进程。 引用 6 楼 zzfei90 的回复:引用 5 楼 jinrich 的回复:转 一圈看一眼,和在哪儿死看……
呵呵 够形象 大致了解 河南一区
zzfei90 2013-01-14
  • 打赏
  • 举报
回复
引用 5 楼 jinrich 的回复:
转 一圈看一眼,和在哪儿死看,谁更浪费时间呢?
那用O_NONBLOCK标志的话,再read不是也能实现?用两种方法实现有区别吗?
卫天 2013-01-14
  • 打赏
  • 举报
回复
转 一圈看一眼,和在哪儿死看,谁更浪费时间呢?
zzfei90 2013-01-14
  • 打赏
  • 举报
回复
静待高人...
卫天 2013-01-14
  • 打赏
  • 举报
回复
引用 7 楼 kickxxx 的回复:
poll 可以等待的事件多一些,如果只是等待读数据,那么两种方式都可以。 就是等的地点不一样,一个是在poll处;一个在read处,效率都非常高,无数据时进程都会在等待队列上休眠,一旦有数据后,kernel负责唤醒相应的进程。
引用 6 楼 zzfei90 的回复:
引用 5 楼 jinrich 的回复:转 一圈看一眼,和在哪儿死看,谁更浪费时间呢? 那用O_NONBLOCK标志的话,再read不是也能实现?用两种方法实现有区别吗?
kickxxx非常对!!! 一把AK可以杀人,一把手枪也可以杀人。主要用途不一样!!!!
kickxxx 2013-01-14
  • 打赏
  • 举报
回复
poll 可以等待的事件多一些,如果只是等待读数据,那么两种方式都可以。 就是等的地点不一样,一个是在poll处;一个在read处,效率都非常高,无数据时进程都会在等待队列上休眠,一旦有数据后,kernel负责唤醒相应的进程。
HuaiShuShuV 2013-01-12
  • 打赏
  • 举报
回复
我也不知道,麻烦知道了解释一下
zzfei90 2013-01-12
  • 打赏
  • 举报
回复
我就是因为不明白才问的额 要是知道还问啥子是 我两种方法都试了,因为我只是写了个简单的测试程序,所以可能看不出来什么 要不你给我想个方法,让我看出来两种的不同?
jiangbei_lengyu 2013-01-11
  • 打赏
  • 举报
回复
别的先不说,按照你说的哪种机制更好一些呢?

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧