http://perldoc.perl.org/perlthrtut.html
2009/11/12 空格 <ribozyme2004@gmail.com>
我把程序改成多线程的了。能用倒是能用。不过很多东西是知其然不知其所以然的。好在比较简单就能实现。
目前还有一个问题是,我要给几个线程共享两个很大的数组,都有上亿个元素。那么我是用 :share 把这两个数组共享了好,还是把这两个数组按引用传
递给线程所要调用的子程序好呢?
好象自己的回贴要多刷两遍就出来了。呵呵。google的刷新好象要点时间。
On 11月11日, 下午5时33分, 热雪 <laiwei...@gmail.com> wrote:
> 用多线程也是可以的,其实perl里面的多线程跟多进程差不多.指定的变量才共享内存块.但是简单的控制还是比较简单的.复杂情况就不知道了,呵呵
> 怎么我看不到自己的回帖呢?
>
> On 11月11日, 上午10时25分, "Haiyan Lin" <linhy0...@gmail.com> wrote:
>
> > 请问如何实现用管道在进程之间通信?能show一段简单的示例代码么(最好带点注释)?我也碰到过这个问题。最后用dbmopen将hash保存到*.dbm中,相当于还是写入了磁盘。谢谢。
>
> > ----- Original Message -----
> > From: msmouse
> > To: perlchina@googlegroups.com
> > Sent: Wednesday, November 11, 2009 10:04 AM
> > Subject: [PerlChina] Re: 请教:多进程中子进程的结果如何"回收"
>
> > 1。可否用多线程代替多进程? 那样就可以用共享内存了
> > 2。可否用管道在进程之间通信? 最简单的就是获得子进程的标准输出句柄,子进程里面print到STDOUT上,父进程读那个句柄
> > ----------------------------------
> > msmo...@ir.hit.edu.cn
> > msmo...@gmail.com
>
> > 2009/11/10 空格 <ribozyme2...@gmail.com>
>
> > 具体点说,我要处理一个大散列。把每个键值加长变成四个字符串存到一个新散列中。因为加长后的字符串可能有重复,所以删除重复后结果散列所含的键值数组
> > 不到原来的四倍。
> > 我把初始散列分成了四份,然后开了四个子进程,每个进程跑一个,并生成一个结果散列。但是子进程跑完之后结果散列并不能保存在父进程的内存中。只能先都
> > 写到磁盘上的一个临时文件里,然后再读出来消除重复,生成最终的结果散列。
> > 我想知道能不能不用读写磁盘直接在内存中处理?或者要用多线程?
>
> > On 11月10日, 下午9时24分, langq 235 <langq...@gmail.com> wrote:
>
> > > 保留的意思指什么呢,在父进程的内存中保留,还是指硬盘上保留呢
--
如果觉得无聊,您不妨访问Google Reader消遣 http://www.google.com/reader/view
要尝试黑版本Google,请访问 http://www.google.com/custom?q=&sa=Search&client=pub-4021907304270164&forid=1&channel=7519554017&ie=UTF-8&oe=UTF-8&cof=GALT%3A%23FF9900%3BGL%3A1%3BDIV%3A%230033FF%3BVLC%3ACC9900%3BAH%3Acenter%3BBGC%3A000000%3BLBGC%3A000000%3BALC%3AFFFFFF%3BLC%3AFFFFFF%3BT%3ACCCCCC%3BGFNT%3A33CC00%3BGIMP%3A33CC00%3BFORID%3A1%3B&hl=en
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论