小编Ali*_*nik的帖子

perl多任务问题

我已经完成了我之前使用perl线程的多线程程序,它可以在我的系统上运行.问题是,在某些需要运行的系统上,线程支持不会编译到perl中,我无法安装其他软件包.因此,我需要使用除线程之外的其他东西,并且我将我的代码移动到使用fork().这可以在我的Windows系统上启动子任务.

一些问题:

  1. 如何确定子进程何时退出?我在线程数低于某个值时创建了新线程,我需要跟踪正在运行的线程数.对于进程,如何知道何时退出,以便我可以跟踪当时有多少存在,在创建一个计数器时递增计数器,在一个计数器退出时递减计数器?

  2. 在子进程中由父进程打开时,是否使用OPEN获取的句柄的文件I/O?我需要为每个子进程附加一个文件,这在unix上也是安全的.

  3. fork和threads有什么替代方法吗?我尝试使用Parallel :: ForkManager,但是我的系统上没有安装(使用Parallel :: ForkManager;出错)我绝对要求我的perl脚本可以在所有unix/windows系统上运行而无需安装任何其他模块.

parallel-processing perl multithreading multitasking

4
推荐指数
1
解决办法
2753
查看次数