Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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 Perl中的并发子例程_Multithreading_Perl - Fatal编程技术网

Multithreading Perl中的并发子例程

Multithreading Perl中的并发子例程,multithreading,perl,Multithreading,Perl,我试图让这两个子例程同时运行。当我启动程序时,我最终得到: Perl exited with active threads: 2 running and unjoined 0 finished and unjoined 0 running and detached 控制台上没有打印内容。我被期望在学期前保持活跃 线 你能在这里发现缺陷吗 集 $| = 1; 有无缓冲输出,并确保主线程在其他线程执行时执行某些操作,即 sleep 1 while 1; 或者按照@ike

我试图让这两个子例程同时运行。当我启动程序时,我最终得到:

Perl exited with active threads:
    2 running and unjoined
    0 finished and unjoined
    0 running and detached
控制台上没有打印内容。我被期望在学期前保持活跃

线 你能在这里发现缺陷吗

$| = 1;
有无缓冲输出,并确保主线程在其他线程执行时执行某些操作,即

sleep 1 while 1;
或者按照@ikegami的建议等待线程

$_->join for $t1, $t2;
设置

有无缓冲输出,并确保主线程在其他线程执行时执行某些操作,即

sleep 1 while 1;
或者按照@ikegami的建议等待线程

$_->join for $t1, $t2;

在退出进程之前,您从不等待子进程结束。加

$_->join for threads->list;

在退出进程之前,您从不等待子进程结束。加

$_->join for threads->list;

无法解决问题,但我可以发现一个缺陷…您的代码无法编译。您在
sub1
中的
print
后缺少一个分号,该分号可能重复。严格使用;使用警告@这件衣服是黑色的,不是因为在构建这篇文章时出现了打字错误。好地方!;-)无法解决问题,但我可以发现一个缺陷…您的代码无法编译。您在
sub1
中的
print
后缺少一个分号,该分号可能重复。严格使用;使用警告@这件衣服是黑色的,不是因为在构建这篇文章时出现了打字错误。好地方!;-)