lock.t
来自「UNIX下perl实现代码」· T 代码 · 共 28 行
T
28 行
use Thread;$level = 0;sub worker{ my $num = shift; my $i; print "thread $num starting\n"; for ($i = 1; $i <= 20; $i++) { print "thread $num iteration $i\n"; select(undef, undef, undef, rand(10)/100); { lock($lock); warn "thread $num saw non-zero level = $level\n" if $level; $level++; print "thread $num has lock\n"; select(undef, undef, undef, rand(10)/100); $level--; } print "thread $num released lock\n"; }}for ($t = 1; $t <= 5; $t++) { new Thread \&worker, $t;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?