免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: robin10
打印 上一主题 下一主题

setitimer() && select() [复制链接]

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
21 [报告]
发表于 2011-01-12 12:21 |只看该作者
linux rtc

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-04 06:20:00
22 [报告]
发表于 2011-01-12 14:11 |只看该作者
linux rtc
ecjtubaowp 发表于 2011-01-12 12:21



    如果用这个做。。MS每次都是要从新设置。。。这个有点像setitimer()?

问题在于,在timeout 之前,是block的,在系统和APP还需要正常跑的情况下,当然不太希望这样了。

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-04 06:20:00
23 [报告]
发表于 2011-01-12 14:21 |只看该作者
这个好像和之前提到的硬件Timer是一样或者类似的。。。
如果可以修改一下。。响应callback? MS还是不错的。。

论坛徽章:
24
金牛座
日期:2013-10-18 21:35:56综合交流区版块每日发帖之星
日期:2015-08-15 06:20:00综合交流区版块每日发帖之星
日期:2015-09-30 06:20:00综合交流区版块每日发帖之星
日期:2015-10-16 06:20:03每日论坛发贴之星
日期:2015-10-16 06:20:03综合交流区版块每日发帖之星
日期:2015-10-24 06:20:00IT运维版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之天津
日期:2016-02-25 16:28:04综合交流区版块每日发帖之星
日期:2016-06-12 06:20:00每日论坛发贴之星
日期:2016-06-12 06:20:00综合交流区版块每日发帖之星
日期:2016-06-13 06:20:00综合交流区版块每日发帖之星
日期:2015-06-22 22:20:00
24 [报告]
发表于 2011-01-23 21:35 |只看该作者
select被信号中断与超时的返回值是不同的。

论坛徽章:
0
25 [报告]
发表于 2011-01-24 13:34 |只看该作者
你可以在select函数返回后判断错误码与返回值,通过返回你应该可以知道函数是如何被终止。如果是被信号打断则可以重新计时。

论坛徽章:
0
26 [报告]
发表于 2011-01-30 14:50 |只看该作者

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-04 06:20:00
27 [报告]
发表于 2011-03-03 09:26 |只看该作者
select被信号中断与超时的返回值是不同的。
一介村夫 发表于 2011-01-23 21:35


这个没有注意到。。。不过SELECT() TIMEOUT了。。。

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-04 06:20:00
28 [报告]
发表于 2011-03-03 09:39 |只看该作者
你可以在select函数返回后判断错误码与返回值,通过返回你应该可以知道函数是如何被终止。如果是被信号打断 ...
kuok2000 发表于 2011-01-24 13:34


这个。。。好像会比较痛苦吧。。。
比如说,我要读一个服务器的返回内容,TIMEOUT=120S,
而我的SIGNAL 是1S 一次的。。。。。

那么在最坏的情况下。。。我是否要在SELECT中 重复开始计时 120次左右(?)。。
另外,这种情况下,我还得知道,我之前一共耗掉了多少时间。

否则,最坏的情况下,如果我SELECT的返回一直都是超过 1S,那么我的SELECT()将永远无法退出(?,假设下一个SIGNAL会在SELECT 返回之前)
(因为 SIGNAL是1S,这个是一直都有的,如果SELECT()在1S内无法返回,那么就会得到SIGNAL退出。。。而且一直会循环下去(?))

哈哈,当然,这些可能都只是极端情况。



不知道比较 “正规”的做法是怎么样的?

PS,我已经另外开一条线程来实现计时了。。。。
不过一样很欢迎大家可以讨论这个问题。
并感谢所有回帖的XDJM。

论坛徽章:
0
29 [报告]
发表于 2011-03-03 10:55 |只看该作者

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-04 06:20:00
30 [报告]
发表于 2011-03-03 11:39 |只看该作者
回复 29# giantchen


新的   Reactor 模式 ?

看了一下链接。。。
牛人。。。看的还不是很理解。。。收藏回头慢慢看~

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP