音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

亞線程和動態(tài)亞線程樹的設(shè)計與研究

出處:wangyj0 發(fā)布于:2007-04-28 11:56:15

摘要:提出了一種對線程進行合理分組的方法,即亞線程技術(shù),并提出了動態(tài)亞線程樹的設(shè)計思想和運動機制。

關(guān)鍵詞:多線程 亞線程 動態(tài)亞線程

多線程是近年來非常流行的一項編程技術(shù)。尤其是在網(wǎng)絡(luò)傳輸和資源共享軟件的設(shè)計中,在多媒體的采集和處理、并行計算、并行處理等方面,更是由于高效性和可靠性要求而使線程技術(shù)得到廣泛使用。多線程技術(shù)保證了程序模塊間的分離度,而且可通過合理劃分功能模塊而減少通信量,實現(xiàn)廣泛的數(shù)據(jù)共享,從而使系統(tǒng)性能得到很大提高。

但是,隨著線程數(shù)目的增多,共享數(shù)據(jù)的管理將變得相當(dāng)復(fù)雜。線程的增多導(dǎo)致對共享數(shù)據(jù)區(qū)的訪問非常頻繁,從而增加了系統(tǒng)的額外開銷。為此,本文提出了基于線程分組的亞線程機制。

在設(shè)計中,只要分組合理,亞線程之間的調(diào)用就不會過來頻繁,從而可減少多個線程頻繁訪問共享數(shù)據(jù)而引起的混亂。由此,亞線程機制可以有效地提高系統(tǒng)性能,同時保證數(shù)據(jù)的安全。
1 亞線程機制的設(shè)計思想

1.1 亞線程和亞線程樹

亞線程在結(jié)構(gòu)上是基于線程的分組。每個亞線程由一定數(shù)目的線程和共享數(shù)據(jù)組成。編程時,把互相之間有緊密關(guān)系或存在頻繁通信關(guān)系的線程及共享數(shù)據(jù)分到同一個亞線程中。亞線程內(nèi)部的互相調(diào)用和通信幾乎不受限制,只有亞線程之間的訪問會受到一定限制。

一般說,線程是被個別創(chuàng)建的。在亞線程機制中,每個線程被分到某個亞線程中,一旦確定,便不再改變。

總之,亞線程可分為根亞線程和普通亞線程兩類?;镜膩喚€程叫根來線程。若創(chuàng)建線程時不指定亞線程,該線程就會自動歸屬于根亞線程。除了根亞線程之外的亞線程都是普通亞線程。

在亞線程機制中,采用亞線程樹來實現(xiàn)總體設(shè)計。亞線程樹是程序中所有亞線程構(gòu)成的樹形結(jié)構(gòu)。在這種樹形結(jié)構(gòu)中,一個亞線程通常從屬于其它亞線程。所以,在構(gòu)建一個新的亞線程時,必須指定它從屬于哪個亞線程。若未指定,則會自動歸屬于根亞線程。這樣,一個應(yīng)用程序中的所有亞線程終都會直接或間接歸屬于根亞線程。

亞線程樹結(jié)構(gòu)如所示。
在采用進程-線程結(jié)構(gòu)的應(yīng)用程序中,亞線程是介于進程和線程之間的中間結(jié)構(gòu)。實驗表明,由于亞線程的加入,使系統(tǒng)效率得到很大提高。

1.2 亞線程機制的具體實例

在本課題組完成的863項目《遠(yuǎn)程機器人控制系統(tǒng)》中采用了進程-線程結(jié)構(gòu),在此基礎(chǔ)上加入了亞線程后,形成進程-亞線程-線程機制。

此系統(tǒng)主要功能是:通過圖像傳輸和命令傳輸,對遠(yuǎn)程機器人進行相應(yīng)控制,并通過加密實現(xiàn)對信息的即時加密。系統(tǒng)采用Client/Server結(jié)構(gòu)。表1和表2分別為Server端和Client端的線程和亞線程列表。
表1 Server端的線程和亞線程列表

亞線程名稱線程名稱線程功能
根亞線程請求連接線接收Client端的發(fā)送連接請求
Client/Server同步線程進行Client/Server端的同步操作
亞線程1(圖像處理)圖像采集線程從終端的攝像頭采集圖像
圖像壓縮線程對采集到的圖像數(shù)據(jù)進行壓縮
圖像發(fā)送線程發(fā)送壓縮的圖像數(shù)據(jù)
亞線程2(命令處理)命令接收線接收Client端發(fā)來的命令
命令執(zhí)行線程執(zhí)行接收到的命令
亞線程3(加密文件傳輸)加密線程對準(zhǔn)備發(fā)向?qū)Ψ降奈募M行加密
解密線程對來自對方的加密文件進行解密
亞線程4(文字通信)文字發(fā)送線程負(fù)責(zé)雙方文字通信
文字接收線程

表2 Client端的線程和亞線程列表

亞線程名稱線程名稱線程功能
根亞線程請求連接線程向Server端發(fā)送連接請求
Client/Server同步線程進行Client/Server端的同步操作
亞線程1(圖像處理)圖像接收線程從Server端接收壓縮圖像數(shù)據(jù)
圖像解壓縮線程對接收到的圖像數(shù)據(jù)進行解壓縮
圖像顯示線程顯示解縮之后的圖像
亞線程2(命令處理)命令發(fā)送線程接收Client端發(fā)送來的命令
亞線程3(加密文件傳輸)加密線程對準(zhǔn)備發(fā)向?qū)Ψ降奈募M行加密
解密線程對來自對方的加密文件進行解密
亞線程4(文字通信)文字發(fā)送線程負(fù)責(zé)雙方文字通信
文字接收線程

在Server端,亞線程樹結(jié)構(gòu)如所示。其中,圖像采集、圖像壓縮和圖像傳送三個線程的處理對象都是視頻文件;命令接收和命令執(zhí)行兩個線程的處理對象都是命令;文件加密線程和文件解密線程的處理對象都是文件;文字發(fā)送線程和文字接收線程則負(fù)責(zé)文字通信。其于上述特點,這些線程構(gòu)成了所示的亞線程樹結(jié)構(gòu)。

在Client端,程序運行后,每連接一個機器人站點就建立一個進程。每個進程中的亞線程結(jié)構(gòu)如所示。各亞線程的構(gòu)建方法與Server端類似。

加入亞線程機制后,亞線程間的數(shù)據(jù)訪問受到限制。例如文字發(fā)送、接收線程和S/C同步線程基本不訪問加密解密的文件,亞線程管理器甚至可以禁止這些線程去訪問傳輸?shù)奈募?。又如,對傳輸?shù)囊曨l數(shù)據(jù),除了Server端的圖像采集、壓縮和傳送線程,以及Client端的圖像接收、解壓縮和顯示線程外,不能被其他任何線程訪問。這樣,通過亞線程機制優(yōu)化了整個應(yīng)用程序的運行,并保證了數(shù)據(jù)的安全。此外,由于主要操作都?xì)w為亞線程內(nèi)部操作,所以,大大提高了程序執(zhí)行的效率。

1.3 亞線程機制的特點

亞線程機制的特點是,允許對一個亞線程中的所有線程同時操作。例如,可通過調(diào)用相位的方法來設(shè)置其中所有線程的優(yōu)先級,也可以啟動或阻塞所有線程。

亞線程機制的另一重要特點是為安全性提供了很好前提。它通過分組來區(qū)分不同安全級別的線程,對不同亞線程中的線程進行不同處理,還可以通過亞線程的分層結(jié)構(gòu)來支持不對等安全措施。在亞線程機制中,一個線程只能修改所屬亞線程樹中的其它線程,這種修改包括修改線程優(yōu)先級別和掛起或喚醒線程等操作。

由于一個亞線程只能訪問那些從自己的根亞線程樹分支出來的線程,而不能訪問其它任何線程。因此,可以效保證數(shù)據(jù)的安全。
2 動態(tài)亞線程樹的運行機制

動態(tài)亞線程樹是對亞線程機制的進一步優(yōu)化,它通過在亞線程結(jié)構(gòu)基礎(chǔ)上加入亞線程管理器和動態(tài)亞線程機制來實現(xiàn)。

2.1 亞線程管理器

亞線程管理器的功能是對亞線程進行調(diào)控,它獨立于所有亞線程。

具體設(shè)計時,亞線程管理器由一個表格和一個控制組件構(gòu)成。表格紀(jì)錄各種信息,具體內(nèi)容隨應(yīng)用程序不同而異。例如,包括亞線程間的交互信息,整個系統(tǒng)中包含的線程和亞線程名,各線程和亞線程對應(yīng)的父亞線程名,線程及亞線程之間的通信次數(shù)和頻率等??刂平M件則根據(jù)這些信息做出相應(yīng)的調(diào)整。

2.2 動態(tài)亞線程機制

大多數(shù)情況下,在線程的整個生命周中,基本功能、通信對象以及處理對象都較固定,因此,亞線程機制可以有效地優(yōu)化應(yīng)用程序的執(zhí)行效率。但有時有些線程的通信對象不固定,處理的對象也不固定。如果將這樣的線程歸入某一個亞線程,就會降低程序的執(zhí)行效率。

動態(tài)亞線程機制可以較好地解決這個問題。動態(tài)亞線程機制的是可以動態(tài)地調(diào)整亞線程樹的內(nèi)部結(jié)構(gòu)。采用這種機制后,一個線程調(diào)用其它亞線程中的對象或者與其他亞線程通信后,相關(guān)線程的標(biāo)識符和通信次數(shù)會被根亞線程管理器記錄下來。若此后多次發(fā)生類似的通信,亞線程管理器就會據(jù)此對亞線程樹進行調(diào)整,將該線程歸入聯(lián)系多的亞線程中。另外,如果兩個亞線程之間出現(xiàn)頻繁通信,那么亞線程管理器會經(jīng)過評測和判斷來合并兩個亞線程。

是采用動態(tài)亞線程機制時,亞線程樹調(diào)整結(jié)構(gòu)的簡單示例。從中可以看到,亞線程管理器統(tǒng)計結(jié)果中,線程6和亞線程1中的線程通信為20+15+17=42次,遠(yuǎn)遠(yuǎn)大于與亞線程2內(nèi)部的通信。這種情況下,亞線程管理器通過評測機構(gòu)會得出應(yīng)該調(diào)整結(jié)構(gòu)的判斷,于是將線程6歸入亞線程1中。

具體說,亞線程的調(diào)整有以下幾種類型:

①一段時間內(nèi),T1不屬于Y2,但線程T1和亞線程Y2的通信明顯比較頻繁,這種情況下,T1應(yīng)歸入Y2。

②一段時間內(nèi),線程T1與多個亞線程的通信都很頻繁,這種情況下應(yīng)將線程T1復(fù)制到那些亞線程中,即在相應(yīng)的亞線程中重新創(chuàng)建與T1相同的線程,并進行相應(yīng)規(guī)劃。

③一段時間內(nèi),兩個亞線程Y1和Y2的相互通信非常頻繁,則將兩個亞線程進行合并。

隨著多線程的廣泛應(yīng)用,越來越需要有一種合理的管理機制來管理多線程以免造成調(diào)度的混亂。

亞線程機制可以有效地管理應(yīng)用程序內(nèi)部多個線程之間的相互訪問和調(diào)度。對應(yīng)的樹狀結(jié)構(gòu)保證了數(shù)據(jù)訪問和信息交互的安全。通過動態(tài)調(diào)整亞線程內(nèi)部結(jié)構(gòu)以及整個亞線程樹的樹狀結(jié)構(gòu),又可以動態(tài)優(yōu)化多線程應(yīng)用程序的整體性能。


  
關(guān)鍵詞:亞線程和動態(tài)亞線程樹的設(shè)計與研究

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!