#!/usr/bin/perl use warnings; use strict; use threads; my $thread_num = 2; foreach(1..10){ if(threads->list()>=$thread_num){ sleep(1); foreach my $thr (threads->list(threads::joinable)){ $thr->join(); } } threads->create(\&runthread,$_); } while(threads->list()){ sleep(10); foreach my $thr (threads->list(threads::joinable)){ $thr->join(); } } exit(0); sub runthread { print($_[0],"\n"); print(threads->list(),"\n"); return 0; }