免费注册 查看新帖 |

Chinaunix

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

linux线程通信怎样实现微妙级响应 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-12-12 09:54 |只看该作者
但是你另一只CPU的while(1),
线程一旦 “休眠” -> “唤醒”,就必定变成切换了。

论坛徽章:
0
12 [报告]
发表于 2011-12-12 10:48 |只看该作者
我现在是while(1) 不断的去判断, CPU一直占用100%, 线程没有休眠,so:没有切换
很奇怪我们在使用阻塞模式的recvfrom时,CPU没有占用,但线程一旦有数据接收时却可以立即唤醒,耗时也是微妙级的
这是什么机制?

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
13 [报告]
发表于 2011-12-12 11:20 |只看该作者
一个线程产生数据,放到一个公用的buffer里
另外一个线程处理数据,处理的速度很比产生数据的速度快得多
...
tpj10 发表于 2011-12-10 17:21



    应该使用条件锁。
条件锁在系统不忙时可以勉强达到微秒级,太忙了保证不了。
资源控制好了应该还可以。

论坛徽章:
0
14 [报告]
发表于 2011-12-15 16:05 |只看该作者
改用中断调用吧,既然你的实时要求这么高。

论坛徽章:
0
15 [报告]
发表于 2011-12-15 16:06 |只看该作者
如果简单点,long_jump行不行啊。
万能的CU啊,告诉我他们在说什么啊,我怎么都看不懂捏。

论坛徽章:
0
16 [报告]
发表于 2011-12-16 00:13 |只看该作者
同意2楼。
lz还是快点转换思路。

论坛徽章:
0
17 [报告]
发表于 2011-12-16 16:04 |只看该作者
linux系统时间周期是10ms,也即每10ms调度一次线程。
假若每100us产生一个产品,则每生产100个产品后消费者线程被才调度一次,在这调度中,这100个产品也许能达到几微秒就被消费掉,但第101个产品就没那么幸运了,因为它得等到10ms后,消费者线程被调度了才能被消费掉。

感觉楼主没有把真正的需求讲明白,只讲了自己解决需求的一个方法,然后要求大家按楼主的方法来实现。
楼主能否再考虑一下,把问题讲请楚一点。

论坛徽章:
0
18 [报告]
发表于 2011-12-16 16:17 |只看该作者
多核环境下,在进行线程的独享核绑定之后,线程之间是没什么切换开销的。但线程也是每隔10ms才执行一次的啊。
如果硬要按楼主的方法来实现,提供一点建议参考一下,不一定凑效。
1. 首先保证硬件主频足够大。
2. 将os的HZ值设大一点,以提高调度频率,当然不是越大越好,否则系统中断开销会很大。
3. 创建实时线程。

论坛徽章:
0
19 [报告]
发表于 2011-12-16 16:26 |只看该作者
上面说错了,在linux2.6下,系统时钟频是1000HZ,因此,调度周期是1ms。
楼主可创建实时线程试试。

论坛徽章:
0
20 [报告]
发表于 2011-12-16 17:47 |只看该作者
换操作系统吧

vxwork, psos之类的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP