2009年5月31日星期日

[PerlChina] Re: 请问如何在AUTOLOAD里得到方法名?

2009/6/1 Luo, Yong <Yong.Luo@acs-inc.com>

现在担心的是如果这个类在多线程环境下跑的话,在一个线程里取到的$AUTOLOAD可能已经被另一个线程改变了,请问有没有方法能避免这个啊?是不是只能自己写同步代码?

会么?perl 线程是"解释器线程",原理上讲,不同的线程等于有自己独立的解释器,因此也会有独立的整套全局变量等等。相反,如果想在多"线程"间共享反而是需要显式指定的,比如 shared 变量。

一句题外话是,我们总是尽量避免使用 perl 的线程,呵呵,比如我们的用到了 fork 的应用,到了 Win32 上用 perl 线程一模拟就变得很不稳定了,呵呵。

Cheers,
-agentzh


--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

没有评论: