亚线程机制的另一重要特点是为安全性提供了很好前提。它通过分组来区分不同安全级别的线程,对不同亚线程中的线程进行不同处理,还可以通过亚线程的分层结构来支持不对等安全措施。在亚线程机制中,一个线程只能修改所属亚线程树中的其它线程,这种修改包括修改线程优先级别和挂起或唤醒线程等操作。

由于一个亚线程只能访问那些从自己的根亚线程树分支出来的线程,而不能访问其他任何线程。因此,可有效保证数据的安全。

2、动态亚线程树的运行机制

动态亚线程树是对亚线程机制的进一步优化,它通过在亚线程结构基础上加入亚线程管理器和动态亚线程机制来实现。

2.1亚线程管理器

亚线程管理器的功能是对亚线程进行调控,它独立于所有亚线程。

具体设计时,亚线程管理器由一个表格和一个控制组件构成。表格纪录各种信息,具体内容随应用程序不同而异。例如,包括亚线程间的交互信息,整个系统中包含的线程和亚线程名,各线程和亚线程对应的父亚线程名,线程及亚线程之间的通信次数和频率等。控制组件则根据这些信息做出相应的调整。

2.2动态亚线程机制

大多数情况下,在线程的整个生命周期中,基本功能、通信对象以及处理对象都较固定,因此,亚线程机制可以有效地优化应用程序的执行效率。但有时有些线程的通信对象不固定,处理的对象也不固定。如果将这样的线程永久归入某一个亚线程,就会降低程序的执行效率。

动态亚线程机制可以较好地解决这个问题。动态亚线程机制的核心是可以动态地调整亚线程树的内部结构。采用这种机制后,一个线程调用其它亚线程中的对象或者与其他亚线程通信后,相关线程的标识符和通信次数会被根亚线程管理器纪录下来。若此后多次发生类似的通信,亚线程管理器就会据此对亚线程树进行调整,将该线程归入联系最多的亚线程中。另外,如果两个亚线程之间出现频繁通信,那么亚线程管理器会经过评测和判断来合并两个亚线程。