Perl-并发
考虑 threads
和 Parallel::ForkManager
模块.
Parallel::ForkManager
查看 perldoc Parallel::ForkManager
.
使用范式为:
1 |
|
这里需要理解 $pm->start and next DATA_LOO
这段代码.
$pm->start
就是调用 fork()
函数, 其返回 child process id 给 parent process, 返回 0 给 child process.
也就是说, 对于父进程, 由于返回值非零, 因此会执行 next DATA_LOOP
, 进而创建下一个进程.
而对于子进程, 由于 $pm->start
的返回值为 0, 因此会执行下一行代码.
$pm->finish
用于结束子进程.
Perl-并发
http://example.com/2023/10/28/Perl-并发/