精通COBOL--16.4.1 伪会话程序的基本概念
伪会话程序是相对于会话程序发展而来的。会话程序将会不间断地等待从终端接受数据,直到程序结束。而伪会话程序则只在终端有输入时才激活,并不会始终占用资源以等待从终端接受数据。图为二者的区别。
由此可见,伪会话程序相对于会话程序最大的好处在于不会占据任务资源等待用户的输入。例如,在银行ATM自动取款机取款时,用户输入密码后有时会考虑究竟取多少现金。在这一用户考虑的过程中,系统便可以执行其他操作,而不必等待用户的输入。当用户考虑好后输入取款数目时,系统再重新启动一个任务继续完成该项事务。
同时,由上图还可以看到,会话程序在此只启动了1个任务,而伪会话程序则启动了3个任务。当然,由于这3个任务并没有等待用户在终端上的输入,因此总的执行时间反而较少。
伪会话的多个任务之间存在着一个先后顺序。其中前一个任务将把参数传递给后一个任务。在CICS系统中,存在着一块特殊的区域,专用于实现参数的传递。该区域称作COMMARE。在接受参数的程序中,相应的存在一块称作DFHCOMMAREA的区域,用于接受传来的数据。图反映了伪会话程序中参数的传递情况。