公務(wù)員期刊網(wǎng) 論文中心 正文

多線程技術(shù)在數(shù)據(jù)通信中的應(yīng)用

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了多線程技術(shù)在數(shù)據(jù)通信中的應(yīng)用范文,希望能給你帶來靈感和參考,敬請閱讀。

多線程技術(shù)在數(shù)據(jù)通信中的應(yīng)用

數(shù)據(jù)通信系統(tǒng)得益于現(xiàn)代數(shù)據(jù)技術(shù)的大力發(fā)展,其結(jié)構(gòu)和功能也在不斷完善。但由于信息數(shù)據(jù)在傳輸中受到現(xiàn)有材料科學(xué)的制約,在某些方面還存在一定的弊端,多線程技術(shù)的有效應(yīng)用解決了這一難題,它的優(yōu)點(diǎn)在于其可以提高系統(tǒng)的安全性與數(shù)據(jù)的可靠性。多線程技術(shù)的廣泛應(yīng)用對整個(gè)數(shù)據(jù)通信領(lǐng)域產(chǎn)生了重大的積極作用。

1多線程技術(shù)及其適用場合

假定在一個(gè)系統(tǒng)中,整個(gè)系統(tǒng)在結(jié)構(gòu)和功能上是一個(gè)同步的整體。但是在程序設(shè)計(jì)時(shí),程序不可能長久地等待客戶的輸入。在設(shè)計(jì)時(shí)就必須考慮一些客戶與程序怎樣更好地交流。比如客戶對一個(gè)主程序的循環(huán)進(jìn)行了輸入,但是這個(gè)循環(huán)卻不是專門為了等待這個(gè)操作而設(shè)。如何為客戶提供一個(gè)系統(tǒng),使其可以當(dāng)客戶輸入指令時(shí),主系統(tǒng)的循環(huán)可以及時(shí)的處理并完成客戶的需求,為客戶提供一個(gè)處理問題的模塊。以上這些復(fù)合的處理客戶指令的系統(tǒng)都可以運(yùn)用多線程技術(shù)的思想解決。在通信數(shù)據(jù)系統(tǒng)的運(yùn)行中,如果所運(yùn)行的程序過于復(fù)雜,那么我們一般就可以采用多線程技術(shù),利用它對數(shù)據(jù)進(jìn)行高效的處理,并對客戶的指令數(shù)據(jù)進(jìn)行一個(gè)預(yù)處理。這樣不僅可以有效縮短客戶輸出信息的延遲時(shí)間,還可以保證整個(gè)系統(tǒng)的數(shù)據(jù)運(yùn)行的正常,使整個(gè)系統(tǒng)的循環(huán)在使用中對整個(gè)系統(tǒng)的情況進(jìn)行合理全面的調(diào)度。比如,數(shù)據(jù)通信系統(tǒng)中的數(shù)據(jù)優(yōu)先級問題和對沖問題等。該多線程技術(shù)還有一個(gè)優(yōu)點(diǎn),雖然不同的系統(tǒng)模塊其中的設(shè)計(jì)思路存在差異,但這些卻不會對多線程技術(shù)的應(yīng)用產(chǎn)生多大的影響,可以更好地保證整個(gè)數(shù)據(jù)的安全輸入和輸出。

2多線程技術(shù)與數(shù)據(jù)通信

眾所周知,在OS(I開放系統(tǒng)互連)棧式結(jié)構(gòu)的一組協(xié)議中,處于最底層的屬于物理層范圍,其主要職責(zé)是進(jìn)行數(shù)據(jù)的傳輸工作;位于頂層的則是一些應(yīng)用層,他們的任務(wù)是實(shí)現(xiàn)與用戶的對接工作。在一臺電腦中,物理層是承擔(dān)數(shù)據(jù)傳送的,它保證數(shù)據(jù)可以從本地傳輸?shù)搅硪粋€(gè)通信系統(tǒng)的對等面上。當(dāng)數(shù)據(jù)傳輸完之后,物理層就會處于一種待命狀態(tài),等待再次來自上層數(shù)據(jù)鏈的指令,或者是來自其他對等面的數(shù)據(jù)。物理層不會因?yàn)樵谶\(yùn)行其中一個(gè)指令而拒絕另一個(gè)指令。所以從這一點(diǎn)上可以看出,物理層是符合多線程技術(shù)的運(yùn)行模式的。

3應(yīng)用于數(shù)據(jù)通信的編程要素

運(yùn)用多線程技術(shù)在數(shù)據(jù)通信系統(tǒng)中進(jìn)行編程就必須掌握它所具有的相關(guān)要點(diǎn),主要包括以下幾點(diǎn):

1)主循環(huán)———也被稱作主事件循環(huán)。主循環(huán)是承擔(dān)數(shù)據(jù)的接收和傳輸?shù)?。這個(gè)模塊同時(shí)還承擔(dān)著整個(gè)系統(tǒng)的資源調(diào)度功能。

2)為主循環(huán)產(chǎn)生事件的模塊,抑或是一種以某種方式通知主系統(tǒng)事件的模塊。

3)接受通知的模塊,接受來自主系統(tǒng)運(yùn)行產(chǎn)生的事件。這個(gè)模塊稱作“數(shù)據(jù)處理器”。

4)一種協(xié)助主事件循環(huán)監(jiān)視它應(yīng)該知道的所有需要事件的機(jī)制。每個(gè)eventhandler能夠同時(shí)通知主事件循環(huán),繼而得知它所需要的具體事件還有哪些。我們可以看到,多線程技術(shù)編程的整個(gè)框架模塊,是由一個(gè)主事件循環(huán)、OS(操作系統(tǒng))事件發(fā)生器、事件處理器、回調(diào)和事件注冊機(jī)制構(gòu)建的。

4應(yīng)用于數(shù)據(jù)通信的編程設(shè)計(jì)

4.1設(shè)計(jì)框架

在數(shù)據(jù)通信中主要是通過編程設(shè)計(jì)來實(shí)現(xiàn)多線程技術(shù)的有效應(yīng)用,具體的設(shè)計(jì)理念與思路可從以下幾個(gè)層面加以分析。

1)主循環(huán)方面的編程:該方面主要是由scheduler實(shí)現(xiàn)的,當(dāng)事件處理程序存在時(shí)會自動(dòng)向scheduler發(fā)出命令,繼而完成事件的監(jiān)督工作,當(dāng)事件已經(jīng)完成時(shí),scheduler則會發(fā)出命令告知事件并處理相關(guān)程序。

2)事件處理程序方面的編程:該方面是通過eventHandler來完成的。在eventHandler中存在一個(gè)通用的接口setevent(),該接口不僅可以實(shí)現(xiàn)對事件的監(jiān)督作用,而且在該接口中還存在可對數(shù)據(jù)進(jìn)行有效處理的回調(diào)函數(shù),像checkevent()以及event-callback()。

3)事件處理程序子類方面的編程:該部分是由in-putHandler協(xié)助完成的。inputHandler的作用有兩個(gè):一是可對文件所輸入的數(shù)據(jù)進(jìn)行準(zhǔn)確處理,并在子類的基礎(chǔ)上衍生出其他的分類;二是能完成對函數(shù)event-callback()的重寫工作,方便其在文件輸入數(shù)據(jù)時(shí)進(jìn)行一些特定的操作。

4)在eventHandler類的子類方面的編程,該方面則是通過timerHandler完成的,timerHandler的主要作用是可對定時(shí)器進(jìn)行不同的處理,并在子類的基礎(chǔ)上衍生出其他的種類,并在一定程度上實(shí)現(xiàn)對函數(shù)event-callback()的重寫,并經(jīng)特殊的操作,完成對超時(shí)定時(shí)器的處理工作。

4.2主要操作

各部分的主要操作程序?yàn)椋?/p>

1)SetInput(),將這個(gè)函數(shù)接受一個(gè)指向fd-set結(jié)構(gòu)的指針,并將其所表示的文件設(shè)置為1;

2)SetTimeout(),將該函數(shù)接受指向?yàn)閠imeval結(jié)構(gòu)的指針,并設(shè)置定時(shí)器使其滿足超時(shí)前所規(guī)定的時(shí)間;

3)InputReadCallback(),對這個(gè)函數(shù)實(shí)行輸入處理;

4)CheckInput(),對該函數(shù)進(jìn)行處理使其接受一個(gè)指向?yàn)閒d-set結(jié)構(gòu)的指針,對該函數(shù)所代表的數(shù)據(jù)進(jìn)行全面檢查,確保輸入的準(zhǔn)確性;

5)TimeoutCallback(),該函數(shù)要進(jìn)行超時(shí)處理;

6)CheckTimeout(),對該函數(shù)的設(shè)置要參照timeval結(jié)構(gòu)進(jìn)行,以確保當(dāng)前時(shí)間值是否超時(shí),如遇超時(shí)情況,則將其調(diào)至TimeoutCallback進(jìn)行處理。該操作程序是按照國際相關(guān)標(biāo)準(zhǔn)進(jìn)行執(zhí)行的,一方面在一定程度提高了系統(tǒng)的準(zhǔn)確性,確保數(shù)據(jù)通信的安全性,另一方面也有效的減少了維護(hù)的難度。

5結(jié)束語

在數(shù)據(jù)通信系統(tǒng)中,進(jìn)行多線程技術(shù)的應(yīng)用效果顯著,應(yīng)用價(jià)值廣泛,具體表現(xiàn)在:一是強(qiáng)化了網(wǎng)絡(luò)管理力度,使數(shù)據(jù)通信更為精確與有效;二是在數(shù)據(jù)系統(tǒng)的安全性能上也起到了一定的保障作用,增強(qiáng)通信運(yùn)行的高效性。因而,將多線程技術(shù)應(yīng)用于數(shù)據(jù)通信系統(tǒng)是提高通信質(zhì)量的有力措施,在一定程度上也為人們提供安全、便捷的通信服務(wù),值得推廣與應(yīng)用。

作者:陳雷 單位:中郵建技術(shù)有限公司