免费注册 查看新帖 |

Chinaunix

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

关于perl的多线程&多进程的问题 [复制链接]

论坛徽章:
0
61 [报告]
发表于 2009-07-02 14:38 |只看该作者
是好帖,难得MMMIX这么好的人了,我收藏了,必须使用多进程,多线程的时候试一下

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
62 [报告]
发表于 2009-07-02 15:52 |只看该作者
原帖由 Perl_Er 于 2009-7-2 13:44 发表
   $thread_num->down(); #我觉得这个down还是要放到if里面,如果create失败的话,这个down是执行了的并且减去了1,但是没有一个对应的up来加1. 如果连续10个create都失败的话,就会一直hold
   if (my $t = threads->create(\&start_thread)) {
   $t->detach();

资源应该先申请再使用,而不是使用完了再申请。参见 56 楼的回复。

论坛徽章:
0
63 [报告]
发表于 2009-07-02 16:59 |只看该作者

回复 #62 MMMIX 的帖子

这个应该只是一个计数的作用,如果写在if前面,那有可能就会申请了,却没有释放.

论坛徽章:
0
64 [报告]
发表于 2009-07-02 17:14 |只看该作者
原帖由 Perl_Er 于 2009-7-2 16:59 发表
这个应该只是一个计数的作用,如果写在if前面,那有可能就会申请了,却没有释放.


如果程序出错造成没有释放那是正确的。
这种情况下应该增加错误处理。 而不是架设它被释放了

论坛徽章:
0
65 [报告]
发表于 2009-07-03 09:15 |只看该作者
我在HPUX上运行OVO,然后被管理的节点有大约3000台,

建议 30 process * 100 thread.

论坛徽章:
0
66 [报告]
发表于 2009-07-03 09:33 |只看该作者

回复 #65 netkiller 的帖子

你的意思是起30个进程,每一个进程再起100个线程?

论坛徽章:
0
67 [报告]
发表于 2009-07-04 00:29 |只看该作者

用适当的东西做适当的事

用适当的东西做适当的事。

我感觉你们的思路是不是有点偏?

为什么要用1对多的模型,而不用多对1的模型?为啥违背Perl的精神而强迫Perl?

换个模型,只需要2个线程可能搞定,一个线程接收心跳,一个线程统计并报警

剩下的时间和中意的女孩子呆在一起,然后想干点啥坏事....都可以呀???

论坛徽章:
0
68 [报告]
发表于 2009-07-04 09:05 |只看该作者
那就多线程吧,稳定性不会遭成这个样子

论坛徽章:
0
69 [报告]
发表于 2009-07-04 13:57 |只看该作者
我也想了解一下,怎么就没有人说呀。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP