【问题标题】:Perl threads documentation and Its pathPerl 线程文档及其路径
【发布时间】:2013-10-04 21:34:51
【问题描述】:

我在我的程序中使用threads 模块。

但是当我运行test.pl 脚本时,我得到了这个错误:

Can't locate threads.pm in @INC (@INC contains: /opt/perl5.00503/lib/5.00503/sun4-solaris /opt/perl5.00503/lib/5.00503 /opt/perl5.00503/lib/site_perl/5.005/sun4-solaris /opt/perl5.00503/lib/site_perl/5.005 .) at ./test.pl line 10.
BEGIN failed--compilation aborted at ./test.pl line 10.

在哪里可以找到threads.pm 并将其包含在@INC 变量中?

虽然线程模块可从 perl 5.8 及更高版本中获得,但是否还有其他线程模块可从 perl 5.00503 获得?

【问题讨论】:

  • 你是说CPAN的threads.pm? link 你已经安装了吗?
  • @HirofumiTamori 我输入了perldoc threads,找到了,说明我的机器上已经安装了。
  • 不过,您可以尝试(重新)?将其安装在 cpan install /threads-1.89/ 中并告诉我们会发生什么。
  • 试过 ls /opt/*/threads.pm ?

标签: perl perl-module


【解决方案1】:

线程支持不仅仅是您可以添加的东西。它必须从头开始构建到解释器中。线程模块为 5.8 中添加的内置线程支持提供了一个接口

您可以尝试使用forks。它提供与threads 相同的接口,但使用进程而不是线程。

你没有说你为什么需要线程。 Coro 提供的协作式多任务处理也有可能解决问题?

【讨论】:

  • 我的脚本是自动安装某些写在特定文件中的软件。我的脚本首先从文件中读取软件的名称,然后创建一个线程来进行安装。你认为fork 在我的threads 的情况下更有效吗?
  • 在你的情况下,我会说分叉比不存在的东西更有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-23
  • 1970-01-01
  • 2012-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多