NealB的答案很好,你应该阅读
伪会话程序的主要优点是减少了计算机资源的使用,并且它们无法保存数据库锁.
--------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我将尝试在非IBM-Mainframe条款中表达答案
在对话编程中,程序发送一个屏幕并等待用户响应.该程序将保留内存,数据库资源等.
即
Send Screen and wait for a users response
Evaluate user-response
when PF2
Do Something
when PF3
Do Some Thing else
Run Code Online (Sandbox Code Playgroud)
伪对话编程基本上是基于事件编程的另一个名称.
伪对话程序有点像Java swing中的ActionListener(或任何其他Swing,Web,SWT等价物)
我喜欢结构CICS
Initialise and get-screen and user-action
Evaluate
when initial-entry
Initial stuff
Send initial screen
When PF2 /* Delete Action */
Do Delete
Send Response
When PF3 /* Insert Action */
......
end-evaluate
exit program
Run Code Online (Sandbox Code Playgroud)
在java-Swing中你可以把上面写成
Class MyScreen implements ActionListener {
public MyScreen() {
Initial stuff
Add this actionlistners to various buttons
Display screen
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == deleteButton) {
Do Delete
update screen
} else if (e.getSource() == insertButton) {
.......
}
}
}
Run Code Online (Sandbox Code Playgroud)
对于从大型机背景那些不,CICS是一个应用程序服务器像任何Web服务器,而不是发送网页和HTML recieving请求,中投公司将和3270终端屏幕和临危从终端的响应.
注意:CIC也可以用作Web服务器.
这是一个比较会话和伪对话CICS的链接
基本区别在于,在会话CICS中,进程(程序)是"活动的"并且在等待事件时保持资源(例如,存储器,数据库锁)(例如,用户从屏幕图提供的数据).在伪对话CICS中,进程在等待事件发生时"死亡"(CICS RETURN).启动新的工作单元并重新分配资源以响应触发事件.
伪转换CICS经常用于在CICS中构建交互式应用程序.这种技术是资源高效的,因为在用户"思考"时释放内存和数据库锁 - 这在大多数情况下都是如此.净效益是更有效地使用资源,但是管理数据库一致性需要更多的努力,因为程序员需要确保事务完整性(由于在"会话"过程中失去锁定).
该大纲仅涵盖该主题的本质.除此之外还有很多东西,但这是一个开始.
简短的回答是,伪会话代码不包含 EXEC CICS SEND MAP,逻辑上后跟 EXEC CICS RECEIVE MAP,而无需介入逻辑 EXEC CICS RETURN。因此,您的程序在用户“思考时间”期间不会消耗 CICS 资源。
当您的程序 EXEC CICS RETURN 时,您可以将状态信息保存在逗号(传统)或具有一个或多个容器的通道中(自 CICS TS 3.1 起)。
还有更多细节,但这只是其基本内容。