source: trunk/essentials/dev-lang/perl/ext/Thread/unsync4.tx

Last change on this file was 3181, checked in by bird, 18 years ago

perl 5.8.8

File size: 871 bytes
Line 
1BEGIN {
2 eval { require Config; import Config };
3 if ($@) {
4 print "1..0 # Skip: no Config\n";
5 exit(0);
6 }
7}
8
9use Thread;
10
11$| = 1;
12
13srand($$^$^T);
14
15sub printargs {
16 my(@copyargs) = @_;
17 my $thread = shift @copyargs;
18 my $arg;
19 my $i;
20 while ($arg = shift @copyargs) {
21 my $delay = int(rand(500));
22 $i++;
23 print "$thread arg $i is $arg\n";
24 1 while $delay--;
25 }
26}
27
28sub start_thread {
29 my(@threadargs) = @_;
30 my $thread = $threadargs[0];
31 my $count = 10;
32 while ($count--) {
33 my(@args) = ($thread) x int(rand(10));
34 print "$thread $count calling printargs @args\n";
35 printargs($thread, @args);
36 }
37}
38
39new Thread (\&start_thread, "A");
40new Thread (\&start_thread, "B");
41new Thread (\&start_thread, "C");
42new Thread (\&start_thread, "D");
43new Thread (\&start_thread, "E");
44new Thread (\&start_thread, "F");
45
46print "main: exiting\n";
Note: See TracBrowser for help on using the repository browser.