perl 多线程共享数据
来源:互联网 发布:淘宝正品coach代购推荐 编辑:程序博客网 时间:2024/04/29 01:51
perl 要修改传入参数,就像c一样,要传入引用
#!/usr/bin/perl -w
my $var = 1212;
sub test
{
my ($ref) = @_;
$$ref = 12;
}
test(\$var);
print($var);
— OUTPUT ———
12
但是在thread里面,如果直接传入引用,则无效
#!/usr/bin/perl -w
use Thread;
my $var = 1212;
sub test
{
my ($ref) = @_;
$$ref = 12;
}
$id = Thread->new(\&test, \$var);
sleep(1);
print($var);
$id->join();
— OUTPUT ———
1212
需要引入多线程变量共享,将var设置成全局的,这样就可以,当然多个线程就需要考虑竞争神马的,可以继续参考lock之类的文章
#!/usr/bin/perl -w
use Thread;
use threads::shared;
my $var : shared = 1212;
sub test
{
$var = 12;
}
$id = Thread->new(\&test);
sleep(1);
print($var);
$id->join();
— OUTPUT ———
12
- perl 多线程共享数据
- perl多线程抽取数据进展
- C#多线程共享数据
- C#多线程共享数据
- C#多线程共享数据
- 多线程共享数据
- 多线程共享数据案例
- 多线程中的数据共享
- 多线程五共享数据
- C#多线程共享数据
- 多线程数据共享
- 多线程数据共享
- 多线程数据共享
- 多线程数据共享分析
- 多线程共享数据
- 多线程---数据共享
- JAVA多线程共享数据
- 多线程共享数据
- 用find_if查找vector内对象的成员
- How to change instance_number of RAC
- SPFA
- oracle 11g密码永不过期
- single linkList (draft)
- perl 多线程共享数据
- 七色光游戏介绍
- php 的opcode缓存apc以及其安装
- 三星电子在中国统一启用应用商店标识
- C#利用Mutex互斥量实现同时只有一个进程实例在运行
- 去掉桌面图标文字的阴影
- dtree详解
- c#开发中,mdi子窗体如何调用父窗体中控件
- 共享服务器模式