如何在子进程中对父进程的hash赋值
时间:2010-08-28
来源:互联网
my $childPid;
my %childPids;
my %hash;
sub write{
$key=shift;
$value=shift;
$hash{$key}=$value;
}
for(my $p=0; $p<6; $p++){
$childPid = fork();
if($childPid != 0){
#parent process
$childPids{$childPid} = undef;
}else{
#child process
}
}
my $exitPid;
while( scalar(keys(%childPids))>0 ){
while (($exitPid = waitpid(-1, WNOHANG)) > 0){
delete($childPids{$exitPid});
}
}
我希望在子进程中对%hash进行赋值。。。。求助。。。。
my %childPids;
my %hash;
sub write{
$key=shift;
$value=shift;
$hash{$key}=$value;
}
for(my $p=0; $p<6; $p++){
$childPid = fork();
if($childPid != 0){
#parent process
$childPids{$childPid} = undef;
}else{
#child process
}
}
my $exitPid;
while( scalar(keys(%childPids))>0 ){
while (($exitPid = waitpid(-1, WNOHANG)) > 0){
delete($childPids{$exitPid});
}
}
我希望在子进程中对%hash进行赋值。。。。求助。。。。
作者: zhuxiaolong2 发布时间: 2010-08-28
把hash的地址传递进去
作者: iamxesam 发布时间: 2010-08-28
回复 iamxesam
不明白......可以给个例子吗
不明白......可以给个例子吗
作者: zhuxiaolong2 发布时间: 2010-08-28
本帖最后由 iamxesam 于 2010-08-28 22:39 编辑
复制代码
回复 zhuxiaolong2
哪个temp前面有两个$,不知道为什么代码贴不出来··
- #!/usr/bin/perl
- use strict;
- use warnings;
-
- my %hash;
- Assignment(\%hash);
- foreach (keys %hash) {
- print "$_->$hash{$_}\n";
- }
- sub Assignment{
- my $temp=shift;
- $temp{key1}="value1";
- $temp{key2}="value2";
- }
哪个temp前面有两个$,不知道为什么代码贴不出来··
作者: iamxesam 发布时间: 2010-08-28
回复 iamxesam
在子进程中还是调用不了。。。。悲剧
在子进程中还是调用不了。。。。悲剧
作者: zhuxiaolong2 发布时间: 2010-08-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28