perl 多进程与多线程

2025-05-14 17:10:44
推荐回答(1个)
回答1:

use strict;
use threads;
use threads::shared;

my @param :shared;
@param = @ARGV;

my ( $f1r, $f2r ) ;
$f1r :shared;
$f2r :shared;

sub deal_file {}
sub compare {}

# main
while ( @param ) {
my $f1 = shift @param;
my $f2 = shift @param;

my $t1 = threads -> new ( sub { $f1r = deal_file ( $f1 ) } ) ;
my $t2 = threads -> new ( sub { $f2r = deal_file ( $f2 ) } ) ;

$t1 -> join(); $t2 -> join();
compare ( $f1r, $f2r ) ;}