在CICS中对于需要序列化访问的资源, 比如流水号分配等, 都可以使用ENQ, DEQ来保证顺序化访问, 对于ENQ, DEQ之间的代码, 只有一个TASK能够占有, 当这个TASK通过ENQ 资源, 其他TASK ENQ时都会返回ENQBUSY, 一直等待直到HOLD资源的TASK DEQ资源(除非程序handle ENQBUSY或者指定NOSUSPEND). ENQ, DEQ..
.
在CICS中对于需要序列化访问的资源, 比如流水号分配等, 都可以使用ENQ, DEQ来保证顺序化访问, 对于ENQ, DEQ之间的代码, 只有一个TASK能够占有, 当这个TASK通过ENQ 资源, 其他TASK ENQ时都会返回ENQBUSY, 一直等待直到HOLD资源的TASK DEQ资源(除非程序handle ENQBUSY或者指定NOSUSPEND).
ENQ, DEQ是enqueue, dequeue的缩写. 语法如下:
________________________________________________________________________ | |
| |
| >>__ENQ__RESOURCE(data-area)__ ____________________ _________________> |
| |_LENGTH(data-value)_| |
| |
| _UOW_______________ |
| >__|___________________|___ ___________ ___>| |_MAXLIFETIME(cvda)_| |_NOSUSPEND_| |
| |_TASK______________| |
| Conditions: ENQBUSY, INVREQ, LENGERR |
| |
|________________________________________________________________________|
________________________________________________________________________
| |
| |
| >>__DEQ__RESOURCE(data-area)__ ____________________ _________________> |
| |_LENGTH(data-value)_| |
| |
| _UOW_______________ |
| >__|___________________|__>| |_MAXLIFETIME(cvda)_| |
| |_TASK______________| |
| Conditions: INVREQ, LENGERR |
| |
| This command is threadsafe. |
| |
|________________________________________________________________________|
ENQ,DEQ的使用方法,
对于资源, 我们可以区分成两种, 使用ENQ,DEQ的语法也不同:
1,说明数据区的地址代表资源, 资源是在内存中的地址, 而不是内容, 比如CWA中的变量.
2,说明数据区的内容代表资源, 资源是他的内容, 而不是地址. 比如在WORKING-STORAGE的变量. 这种的使用,必须指定LENGTH option, 告诉CICS需要ENQ,DEQ是数据变量的内容.
eg, 比如你define jnl-seq在CWA中,则流水号分配的伪代码如下:
EXEC CICS ENQ RESOURCE(JNL-SEQ) END-EXEC
ADD 1 TO JNL-SEQ
EXEC CICS DEQ RESOURCE(JNL-SEQ) END-EXEC
如果你只是deinfe jnl-seq在working-storage, 则流水号分配的伪代码如下:
EXEC CICS ENQ RESOURCE(JNL-SEQ) LENGTH(LENGTH OF JNL-SEQ) END-EXEC
ADD 1 TO JNL-SEQ
EXEC CICS DEQ RESOURCE(JNL-SEQ) LENGTH(LENGTH OF JNL-SEQ) END-EXEC.
【转】谈谈CICS ENQ,DEQ的使用_REDEMPTION_百度空间
分享到:
相关推荐
JSP源码 企业信息交流系统(CICS) v1.0_cics.rar
[信息办公]企业信息交流系统(CICS) v1.0_cics.rar
[信息办公]企业信息交流系统(CICS) v1.0_cics.zip
[信息办公]企业信息交流系统(CICS) v1.0_cics.zip项目JAVA源码+资料打包下载[信息办公]企业信息交流系统(CICS) v1.0_cics.zip项目JAVA源码+资料打包下载 1.适合学生做毕业设计参考 2.适合个人学习技术研究参考 3....
JSP源码——[信息办公]企业信息交流系统(CICS) v1.0_cics.zip
毕业设计论文-IT计算机-[信息办公]企业信息交流系统(CICS) v1.0_cics-源码.zip
CICS编程基础_Part_1
企业信息交流系统,发表企业内部交流使用,是作业项目.
计算机毕业设计网站实操资源
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...