未定义的子程序& main :: unlock

时间:2013-08-13 19:46:15

标签: multithreading perl

我是perl语言的新手。

所以我写了这个:

use threads;

    lock($lock);
        cond_wait($full,$lock) while($threads == $max_thread);
        $threads++;
    unlock($lock);

运行此代码后,我收到错误:

Undefined subroutine &main::unlock called at ./pages.pl line 222, <FH> line 1.`

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:9)

perlthrtut

  

请注意,没有unlock()函数 - 解锁a的唯一方法   变量是允许它超出范围。

所以,

{
    lock($lock);
    cond_wait($full,$lock) while($threads == $max_thread);
    $threads++;
}