关于Perl的变量共享

chen13668496434 2011-05-25 02:22:27
我想在perl的一个线程你里得socket类的对象值,在另一个线程里去用这个值完成send操作,
我该怎么实现这个变量在所有线程里共享啊??
谢谢大家回家啊??
...全文
241 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
heartgoon2010 2011-07-02
  • 打赏
  • 举报
回复
关注中
fcitxd 2011-06-28
  • 打赏
  • 举报
回复
复杂 慢慢看
xteeqq 2011-06-18
  • 打赏
  • 举报
回复
以前在linux上写程序时使用过多线程机制,记得在linux中线程间数据是共享的。前几天初学了perl,在使用ativeperl 5.8编写一个小程序时发现线程间的数据不是共享的,比较纳闷。于时想找一下原因及实际多线程间数据共享的方法。

找了一下相关的资料才发现,在ativeperl 5.005及以前的版本中多线程间数据是共享的,在我使用的ativeperl 5.8中线程间数据默认是不共享。

要想在ativeperl 5.8的线程间共享数据需要进行显式的声明为共享数据。如下:

1)在文件开始需要使用use threads; use threads::shared;声明

2)在定义需要在线程间共享的数据时需要按如下方式:my $mydata: shared;

如此,$mydata被定义为线程间共享的数据。
hugokung 2011-06-17
  • 打赏
  • 举报
回复
声明为our吧
lgjyxenos 2011-06-17
  • 打赏
  • 举报
回复
用高版本的perl 5.8以后的。
use threads
use threads:shared
定义共享变量即可
my $var :shared
....
iambic 2011-05-25
  • 打赏
  • 举报
回复
google

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧