📄 sync2.t
字号:
use Thread;$global = undef;sub single_file : locked { my $who = shift; my $i; print "Uh oh: $who entered while locked by $global\n" if $global; $global = $who; print "["; for ($i = 0; $i < int(10 * rand); $i++) { print $who; select(undef, undef, undef, 0.1); } print "]"; $global = undef;}sub start_a { my ($i, $j); for ($j = 0; $j < 10; $j++) { single_file("A"); for ($i = 0; $i < int(10 * rand); $i++) { print "a"; select(undef, undef, undef, 0.1); } }}sub start_b { my ($i, $j); for ($j = 0; $j < 10; $j++) { single_file("B"); for ($i = 0; $i < int(10 * rand); $i++) { print "b"; select(undef, undef, undef, 0.1); } }}sub start_c { my ($i, $j); for ($j = 0; $j < 10; $j++) { single_file("C"); for ($i = 0; $i < int(10 * rand); $i++) { print "c"; select(undef, undef, undef, 0.1); } }}$| = 1;srand($$^$^T);print <<'EOT';Each pair of square brackets [...] should contain a repeated sequence ofa unique upper case letter. Lower case letters may appear randomly bothin and out of the brackets.EOT$foo = new Thread \&start_a;$bar = new Thread \&start_b;$baz = new Thread \&start_c;print "\nmain: joining...\n";#$foo->join;#$bar->join;#$baz->join;print "\ndone\n";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -