用于在Fortran 2008中恢复异步系统调用的习惯用法

时间:2017-07-03 18:11:57

标签: fortran fortran2008

如果我进行系统调用,例如:

  call execute_command_line (slowcall1, wait=.false., exitstat=i)
  call execute_command_line (slowcall2, wait=.false., exitstat=j)
  call execute_command_line (slowcall3, wait=.false., exitstat=k)
  call execute_command_line (slowcall4, wait=.false., exitstat=l)

我想并行调用它们,然后检查它们是否进展,是否已完成,最后采取一些措施。但是,轮询exitstat并没有给我这些信息。检查我正在等待的系统调用是否已经完成的正确用法是什么?

从这里: https://gcc.gnu.org/onlinedocs/gfortran/EXECUTE_005fCOMMAND_005fLINE.html

它没有出现任何可选参数:

  • EXITSTAT
  • CMDSTAT
  • CMDMSG

提供此信息。

是否使用了一个推荐的现代Fortran程序,包括将锁定文件作为通话的一部分?或者是不同的异步调用?

1 个答案:

答案 0 :(得分:1)

不,没有办法。你正在使用它的命令是“火与不醒”。如果您想要更精细的控制,请使用线程。不是为了并行,而是为了确定。