在mod_perl中使用线程

时间:2014-05-21 06:39:24

标签: multithreading perl mod-perl2

我想在mod_perl,

中使用线程

作为示例我使用以下脚本:

use strict;
use warnings;
use threads;

sub doOperation{
        my $vr = $_[0];
        my $i = 0;
        while($i < 10000000){
                $i++
        }
        print "Thread done! var1 = $vr\n";
        threads->exit();
}

my @thr;
$thr[0] = threads->create(\&doOperation,5);
$thr[1] = threads->create(\&doOperation,6);

foreach(@thr){ $_->join(); }

我使用CLI顺利工作:

# perl multithr.pl
Thread done! var1 = 6
Thread done! var1 = 5

但是如果通过Apache mod_perl模块运行它会导致分段错误。

我的环境:

CentOS-6.5 x86_64
httpd-2.2.15
mod_perl-2.0.4

1 个答案:

答案 0 :(得分:0)

threads-&GT;出口();

此语句引发了Segmentation fault错误。正确退出线程!