一般说,线程是被个别创建的。在亚线程机制中,每个线程被分到某个亚线程中,一旦确定,便不再改变。

总之,亚线程可分为根亚线程和普通亚线程两类。最基本的亚线程叫根亚线程。若创建线程时不指定亚线程,该线程就会自动归属于根亚线程。除了根亚线程之外的亚线程都是普通亚线程。

在亚线程机制中,采用亚线程树来实现总体设计。亚线程树是程序中所有亚线程构成的树形结构。在这种树形结构中,一个亚线程通常从属于其它亚线程。所以,在构建一个新的亚线程时,必须指定它从属于哪个亚线程。若未指定,则会自动归属于根亚线程。这样,一个应用程序中的所有亚线程最终都会直接或间接归属于根亚线程。亚线程树结构如图1所示。

基于线程分组的亚线程机制的设计与研究分析

在采用进程-线程结构的应用程序中,亚线程是介于进程和线程之间的中间结构。实验表明,由于亚线程的加入,使系统效率得到很大提高。

1.2亚线程机制的具体实例

在本课题组完成的863项目《远程机器人控制系统》中采用了进程-线程结构,在此基础上加入了亚线程后,形成进程-亚线程-线程机制。

此系统主要功能是:通过图像传输和命令传输,对远程机器人进行相应控制,并通过加密技术实现对信息的即时加密。系统采用Client/Server结构。表1和表2分别为Server端和Client端的线程和亚线程列表。

表1 Server端的线程和亚线程列表