COBOL中实现线程等待的方法

COBOL中没有提供wait的方法,但是也不要使用简单的loop来实现等待,这样会浪费处理器资源,造成不必要的开支(主机的CPU是按MIPS计费的)。

COBOL中实现线程等待的方法其实很简单,有一个IBM提供的可调用模块,叫做ILBOWAT0,用等待的秒数调用它即可,等待过程中,理论CPU消耗为零。

 

例子:

 

77 WS-DELAY-TIME    PIC S9(8)     USAGE COMP VALUE 10.

77 WS-CURR-TIME     PIC 9(8).                         

77 WS-SQLCODE       PIC -9(6).                        

………………

ACCEPT WS-CURR-TIME FROM TIME.      

DISPLAY WS-CURR-TIME.               

CALL 'ILBOWAT0' USING WS-DELAY-TIME.

ACCEPT WS-CURR-TIME FROM TIME.      

DISPLAY WS-CURR-TIME.               

 

在我的机器上的运行结果:

22340799

22341800

可以看出roughly等待了10秒。

你可能感兴趣的:(COBOL中实现线程等待的方法)