全部博文(287)
分类: 系统运维
2008-10-15 10:41:10
V6R1 RPG IV增强部分
THREAD(*CONCURRENT)增加了线程*concurrent选项。
如果一个module在C-SPACE中定义为THREAD(*CONCURRENT),系统就提供了在多线程模式下,这个module可以被同步并行运行的的能力:
*可以同步并行运行在多线程模式的能力;
*多线程能够同时运行这个module;
*在默认情况下,静态变量可以定义,以便每一个线程有自己的这个静态变量。
*单个变量能够被定义为STATIC(*ALLTHREAD),并被所有线共享。
*在例程Procedure-Begin SPACE部分中定义了SERIALIZE后,单个例程能够被流程化,以便在某一时间上只能运行一个线程。
能够定义一个不使用RPG编程周期的主例程
在子例程中可以定义文件
通过数据结构可以把运行子例程的400机上的输入输出文件定义到子例程。因为,在子例程的I-SPACE和O-SPACE不允许存在子例程中,并且编译器不能生成在子例程中用于外部描述文件的I-SPACE和O-SPACE。在默认情况下,与存储相关的本地机上的文件是自动的;当子例程执行返回时,这类本地机上的文件将被关闭。STATIC键值能用于表明这类文件相关的存储是静态的,以便所有子例程的约定可以使用这个文件,并且,当调用子例程返回时,这类文件是打开状态,并保持到被子例程地再次调用。
引用限定(Qualified) 记录格式
当一个文件用QUALIFIED键值被定义,这个文件的记录格式必须用这个文件名引用限定,即记录格式名MYFMTM只有用YFILE.MYFMT格式才能被引用。编译器不能生成被引用限定的文件的输入输出描述,而输入输出只能通过数据结构才能做到。