list.t

来自「UNIX下perl实现代码」· T 代码 · 共 31 行

T
31
字号
use Thread qw(async);use Thread::Semaphore;my $sem = Thread::Semaphore->new(0);$nthreads = 4;for (my $i = 0; $i < $nthreads; $i++) {    async {     	my $tid = Thread->self->tid;	print "thread $tid started...\n";	$sem->down;	print "thread $tid finishing\n";    };}print "main: started $nthreads threads\n";sleep 2;my @list = Thread->list;printf "main: Thread->list returned %d threads\n", scalar(@list);foreach my $t (@list) {    print "inspecting thread $t...\n";    print "...deref is $$t\n";    print "...flags = ", $t->flags, "\n";    print "...tid = ", $t->tid, "\n";}print "main thread telling workers to finish off...\n";$sem->up($nthreads);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?