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

Bru*_*tag 0 perl multithreading

我是perl语言的新手.

所以我写了这个:

use threads;

    lock($lock);
        cond_wait($full,$lock) while($threads == $max_thread);
        $threads++;
    unlock($lock);
Run Code Online (Sandbox Code Playgroud)

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

Undefined subroutine &main::unlock called at ./pages.pl line 222, <FH> line 1.`
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

too*_*lic 9

perlthrtut

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

所以,

{
    lock($lock);
    cond_wait($full,$lock) while($threads == $max_thread);
    $threads++;
}
Run Code Online (Sandbox Code Playgroud)

  • 大声笑...我读得速度太快以至于我刚看到unlock()实际上:注意没有unlock()函数 - 解锁变量的唯一方法是允许它超出范围.多谢! (2认同)