`

【转】谈谈CICS ENQ,DEQ的使用_REDEMPTION_百度空间

阅读更多

在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_百度空间

分享到:
评论

相关推荐

    [信息办公]企业信息交流系统(CICS) v1.0_cics.zip

    [信息办公]企业信息交流系统(CICS) v1.0_cics.zip

    JSP源码 企业信息交流系统(CICS) v1.0_cics.rar

    【标题】"JSP源码 企业信息交流系统(CICS) v1.0_cics.rar" 描述了一个基于JSP技术开发的企业级信息交流平台,版本号为v1.0,名为CICS(可能是Corporate Information Communication System的缩写)。这个系统主要用于...

    [信息办公]企业信息交流系统(CICS) v1.0_cics.zip项目JAVA源码+资料打包下载

    [信息办公]企业信息交流系统(CICS) v1.0_cics.zip项目JAVA源码+资料打包下载[信息办公]企业信息交流系统(CICS) v1.0_cics.zip项目JAVA源码+资料打包下载 1.适合学生做毕业设计参考 2.适合个人学习技术研究参考 3....

    cics.rar_CICS TX java_cics

    【Java CICS】是CICS对Java的扩展,它允许开发者使用Java编写CICS应用程序。Java CICS提供了API和工具,使得Java开发者可以方便地访问CICS资源,如文件、数据库和队列,同时还能利用Java的面向对象特性和强大的库。...

    [信息办公]企业信息交流系统(CICS) v1.0_cics.rar

    在使用CICS项目时,首先需要解压"[信息办公]企业信息交流系统(CICS) v1.0_cics.rar",里面可能包含源代码、数据库脚本、配置文件等资源。然后根据项目文档(如果有的话)进行环境配置,比如安装Apache Tomcat服务器...

    企业信息交流系统(CICS) v1.0_cics.rar

    企业信息交流系统(CICS)是一款专为企业的内部通信与协作设计的应用系统,它整合了多种信息技术,如计算机网络、JSP(Java Server Pages)、JAVA语言等,旨在提高工作效率,促进团队间的沟通与合作。本资源是针对...

    JSP源码——[信息办公]企业信息交流系统(CICS) v1.0_cics.zip

    【JSP源码——[信息办公]企业信息交流系统(CICS) v1.0_cics.zip】是一款基于JSP技术开发的企业级信息办公系统。这个系统的核心目标是提供一个高效、安全、易用的平台,使得企业内部的信息交流与协同工作得以顺畅进行...

    毕业设计论文-IT计算机-[信息办公]企业信息交流系统(CICS) v1.0_cics-源码.zip

    【标题】"毕业设计论文-IT计算机-[信息办公]企业信息交流系统(CICS) v1.0_cics-源码.zip" 所涉及的主要知识点包括毕业设计、源码程序、论文报告以及Java后台开发。这个项目是针对企业信息交流的需求,构建了一个名为...

    企业信息交流系统(CICS) v1.0_cics(毕设 + 课设).zip

    企业信息交流系统(CICS) v1.0 是一个专为组织内部设计的沟通与协作平台。这个系统的主要目的是提升企业内部的信息流转效率,促进员工之间的有效沟通,以及简化工作流程。CICS 可能包括了多种功能模块,如用户管理、...

    CICS编程基础_Part_1

    CICS程序使用CICS进行所有接口操作,而CICS则与OS/390操作系统进行交互。 CICS适用于多种系统,包括但不限于: - 自动柜员机(ATM) - 在线银行业务 - 保险系统 - 订单输入和处理系统 - 零售分销系统 - 航空预订...

Global site tag (gtag.js) - Google Analytics