#!/usr/bin/perl
use strict;
use warnings;
use threads;
use Thread::Semaphore;
my $max_thread = 5;
my $semaphore = Thread::Semaphore->new($max_thread);
sub TestFun
{
$semaphore->up();
}
for(my $index = 1; $index <= 10; $index ++)
{
$semaphore->down();
my $thread = threads->create(\&TestFun);
$thread->detach();
}
WaitQuit();
<pre name="code" class="plain">sub WaitQuit
{
my $num = 0;
while($num < $max_thread)
{
$semaphore->down();
$num ++;
}
}
#!perl
use warnings;
use strict;
use threads;
use Thread::Semaphore;
die "perl $0 <thread> <blastConfig> <pep || dna>
perl $0 3 blast.config dna\n" if @ARGV != 3;
my $max_thread = $ARGV[0];
my $semaphore = Thread::Semaphore->new($max_thread);
mkdir "compliantFasta"