免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3786 | 回复: 12
打印 上一主题 下一主题

关于进程线程混和使用中unix消息队列使用问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-30 17:01 |只看该作者 |正序浏览
小弟在AIX 5L上边写一个简单的C/S程序,用系统的消息队列传递报文,但是由于客户端采用进程线程混合调用的方式,就不知道消息队列中的消息类别该用什么代替,我曾经创建一块共享内存做计数器,用计数器中的数据作为消息类别,但是对速度有较大影响。是在不知道该怎么办,哪位高人指点一下:([/i]

论坛徽章:
0
13 [报告]
发表于 2011-10-30 18:55 |只看该作者
也可一得到连接的ID,因为它也是唯一的标识给消息setStringProperty加到信封上,也可以唯一标识

论坛徽章:
0
12 [报告]
发表于 2011-10-30 18:35 |只看该作者
为了防止串包,消息队列中可以加标识,相当于一个信封,在系统中,开辟线程很浪费资源,所以系统对开辟的线程数有限制,为了使标识唯一,可以通过getPid的一个方法得到这个系统分配给线程的唯一标识,但是线程被回收后,又可以使用所以通过给信封设置线程的ID和分配的时间,就可以成为唯一的标识,可以防止串包等问题,自己菜鸟,如果哪位高手还有更高明的方法,可以指教。。。

论坛徽章:
0
11 [报告]
发表于 2005-06-01 09:20 |只看该作者

关于进程线程混和使用中unix消息队列使用问题

楼上真是好主意啊!就是不知道服务器该怎么了解客户端的分组。

论坛徽章:
0
10 [报告]
发表于 2005-06-01 09:14 |只看该作者

关于进程线程混和使用中unix消息队列使用问题

使用自己的计数器是最好办法,速度不是问题,首先互斥区很小,只有一个no++的代码,再者锁的速度很快,还有如果你觉得线索太多抢得厉害,你可以做计数器组,分组使用,每个计数器涵盖不同的数值范围。

论坛徽章:
0
9 [报告]
发表于 2005-06-01 08:44 |只看该作者

关于进程线程混和使用中unix消息队列使用问题

不用消息队列不就是了?

论坛徽章:
0
8 [报告]
发表于 2005-05-31 17:52 |只看该作者

关于进程线程混和使用中unix消息队列使用问题

自己生成一个唯一ID,当然要控制好不要重复就可以。。。

论坛徽章:
0
7 [报告]
发表于 2005-05-31 14:20 |只看该作者

关于进程线程混和使用中unix消息队列使用问题

hehe ,如果是Linux就好了,那样直接取进程号,可惜是AIX 5L 5.2,进程ID超长,不好控制。

论坛徽章:
0
6 [报告]
发表于 2005-05-31 09:38 |只看该作者

关于进程线程混和使用中unix消息队列使用问题

Linux吗?瞎说一句:或许HZ可用呢

论坛徽章:
0
5 [报告]
发表于 2005-05-30 19:54 |只看该作者

关于进程线程混和使用中unix消息队列使用问题

这种方法看起来不错,但是现在那些系统进程ID都排到上百万了,怎么能<65536? any way,多谢。
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP