5 sub single_file : locked {
8 print "Level $level for $arg\n";
9 print "(something is wrong)\n" if $level < 0 || $level > 1;
12 print "Back to level $level\n";
20 single_file("bar $i");
21 sleep 1 if rand > 0.5;
32 single_file("foo $i");
33 sleep 1 if rand > 0.5;
44 single_file("baz $i");
45 sleep 1 if rand > 0.5;
54 $foo = new Thread \&start_foo;
55 $bar = new Thread \&start_bar;
56 $baz = new Thread \&start_baz;
60 print "main: threads finished, exiting\n";