Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 未定义的子程序&;main::解锁_Multithreading_Perl - Fatal编程技术网

Multithreading 未定义的子程序&;main::解锁

Multithreading 未定义的子程序&;main::解锁,multithreading,perl,Multithreading,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.` Unde

我写道:

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.`
Undefined子例程&main::unlock在./pages.pl第222行第1行调用`
如何解决此问题?

请注意,没有unlock()函数,这是解锁 变量的作用是允许它超出范围

所以


$threads>=$max\u thread
将更安全(更可靠地处理bug)thx!我也这么想。。。但最后我还是写了==无论如何。。。但是现在我重新考虑写>=因为你的建议。
{
    lock($lock);
    cond_wait($full,$lock) while($threads == $max_thread);
    $threads++;
}