English 中文(简体)
在Perl,我怎么能够呼吁建立非锁定制度?
原标题:In Perl, how can I do a non-blocking system call?
  • 时间:2009-10-20 17:44:21
  •  标签:

在Perl,没有使用<代码>Thread的图书馆,最简单的摆脱系统电话,使之不锁定? 在避免<条码>fork()的同时,您也能够这样做?

EDIT Clarification. I want to avoid an explicit and messy call to fork.

最佳回答

你们是否同意这样做?

system( my_command_which_will_not_block & );

正如Chris Kloberdanz指出的,这将含蓄地要求(k)——实际上没有任何其他方法可以这样做;特别是如果你想要永久口译员在指挥期间继续工作的话。

<代码>& 指挥品的特性是:壳体-指示器——每升一次,把论点转至“编码”(<>系统(<>>>/代码>)以供执行,而不是直接使用<条码>execv(<>>>>>> 电话:&。 在指挥部门继续执行任务时,把双双双双双双双双双双双双双双双管齐下。

问题回答

以上员额说,“没有其他途径去做”,情况并非如此。

由于你提到删除档案,请查阅IO:AIO。 这一系统在另一个深层(PPOSIX深层,而不是Perl pseudothread)上运行;你将申请安排在aio_rmtree上,如果这样做的话,该模块将在其方案中称为功能。 在时间上,你的方案可以做它想要的东西。

在另一个深层深层做事实际上是一种普遍有用的技术。 Coro使用它作为先发制人(时间许可)和EV:Loop:Async利用它发送事件通知,即使Perl正在做一些事情,而不是等待事件。





相关问题
热门标签