
摘 要:文章對數據通信與多線程技術的相關內容進行了簡單介紹,并對數據通信中的多線程技術的使用進行深入了解與分析,以供參考。
關鍵詞:多線程技術;數據通信;應用
1 多線程技術與數據通信
多線程技術并不是一個新的概念,多線程是建立在數據流計算機研究的基礎上的。通常來講,我國的計算機模型主要有兩種,一種是數據流模型一種是控制流模型,而多線程計算模型則將兩種綜合在一起。換而言之,數據流模型以及控制流模型這兩極向中間發展得到的結果就是多線程模型。當前我國相關的技術人員將多線程技術應用于數據通信中,最大的目的在于提高數據系統的網絡管理效果,增加數據系統的穩定性。
在OSI棧式結構中,最頂層是主要負責與用戶接口的應用層,而最底層則是負責進行數據傳輸的物理層。在計算機應用的過程中,物理層在數據傳輸完成之后,物理層會等待接受從數據鏈路中傳出的命令,從而我們可以看出多線程技術模式正是物理層的運行模式。
2 多線程技術模型的使用場合
整個通信系統中的用戶輸入信息的輸出由多個線程進行處理這種方法被稱為多線程技術,而在應用該技術時,在正確的場合使用準確的多線程技術模型對于通信系統的運行而言是至關重要的。通常來說,通信系統在使用過程中的功能與同步系統,兩者之間并沒有較大的區別,然而兩者在設計過程中,其程序設計的相關內容也是大不相同。下面我國主要針對多線程技術模型設計中需要注意的幾點問題進行詳細的介紹。
首先,在用戶信息輸入的過程中,要有一個等待的主循環程序;這個程序并不單單只負責某個數據的輸出。其次,在通信系統的使用中,為其用戶輸入信息的數據提供一個可以快速進行處理的模塊。最后,為了保證通信系統的順利運行,要完善數據通信的運行機制。這樣能夠使主循環系統對人們輸入的信息數據進行相應的處理,進而維護系統的正常運作。
3 多線程技術系統的數據通信設計
綜合上述,多線程技術模型中也包含了數據通信的設計。文章以某一數據通信系統為主要例子,除了詳細的分析和介紹目前我國通信系統中多線程技術系統的編程外,同時也對多線程技術系統的設計框架進行了深入的研究。
3.1 數據通信系統中多線程技術編程要素
多線程技術在數據通信系統中所涉及到的內容是十分廣泛的,其中主要涵蓋了以下幾方面的內容:首先,最主要的就是主循環要素,同時我們也將其稱之為主事件循環。該要素在數據通信系統中主要起到接受以及傳遞信息的作用,除此之外,還能對通信數據系統進行調度。其次,是模塊要素;該要素有許多部分組成,其中一個模塊為主循環產生事件,該模塊具有能夠借助某種方式實現向主循環通知事件的功能,而與之相對的是接收通知模塊,主要負責將已經發生的事件傳遞到主循環模塊中,同時接收通知模塊能夠對系統的數據進行相關的處理。最后,是監視事件的機制要素,這一個部分存在的主要目的在于幫助主循環監視其需要了解的事情,并通過EVENT HANDLER向主循環通知其想要知道的事件。綜合上文所述幾點,我們知道主循環、OS發生器、事件處理器以及回調機制等多種要素都是多線程技術編程框架模型中不可缺少的重要部分,在維持通信系統正常運行方面起著十分重要的作用。
3.2 線程技術編程框架設計
編程設計是實現多線程技術應用于數據通信系統的關鍵環節,而編程設計的框架主要由幾大部分組成:
Scheduler-scheduler是主循環中重要的部分,是主循環實現其功能的基礎。在事件處理程序存在的時候,為了對事件進行有效的監視,將向scheduler發出聲明;而當事件處于發生過程時,scheduler能夠及時的通知事件處理程序,有效的處理事件。
eventHandler-eventHandler保證事件處理程序基類等順利進行的基礎,同時eventHandler中的通用接口setevent()能夠有效的保證scheduler對事件的監視順利的進行;此外eventHandler能夠通過同調函數checkevent()和event-callback()對事件進行有效的處理。
inputHandler-inputHandler是事件處理程序子類正常運行的基礎,同時inputHandler不僅具備對文件輸入的信息數據進行處理的能力,還能在以子類為前提的基礎上,派生出其他的類。除此之外,inputHandler能夠在事件執行過程中,對其中的文件輸入信息進行某種特定的操作,這主要是因為inputHandler具有重寫函數event-callback()的功能。
timerHandler-eventHandler類的子類方面的事件大多數情況下都是由timerHandler負責處理,其主要負責對定時器進行處理,其他功能與inputHandler相似,既能對event-callback()進行重寫,并進行某種特定的操作,對超時的定時器進行處理,還能基于子類的前提下,衍生出其他類。
各類的主要操作為:
SetInput(),將指向fd-set結構的指針SetInput()函數有效的結合在一起,同時將其代表文件描述符置1。
SetTimeout(),將指向timeval結構的指針與SetTimeout()函數相結合,同時還具有提前設置好定時器的時間。
InputReadCallback(),將這個函數進行輸入處理。
CheckInput(),將指向fd-set結構的指針與CheckInput()函數相結合,同時對文件上描述的數據進行深入詳細的審核,確定無誤后準備輸入數據。
TimeoutCallback(),將這個函數進行超時處理。
CheckTimeout()。為了確定當前的時間值是否已經超過了規定的時間即超時,就CheckTimeout()函數傳輸到timeval結構中,如果超時,則調用TimeoutCallhack。
為了確保多線程技術下的數據通信系統能夠實現與其他采用了相同標準的系統進行有效的連接和相互的操作,在這個系統中的配置管理系統中所采用的是國際統一的標準。同時該系統為了降低維護的難度,在系統模型設計過程中采用了功能實體設計。具體描述見圖1。
4 結束語
綜合上文所述,為了提高我國通信數據系統的網絡管理質量,提高其運行質量,技術人員在通信數據系統中應用了多線程技術。該技術在通信系統的應用過程中,一方面提高了通信數據系統運行的穩定性,全面加強數據通信系統的運行質量和網絡管理,另一方面于對推動我國通信系統的發展也有著十分顯著的作用。
參考文獻
[1]李毅.多線程技術在數據通信中的應用[J].重慶郵電學院學報,2015,3:45.
[2]周興銘,徐明,肖剛.多線程技術的現狀與前景展望[J].計算機工程與科學,2015,8:128-129.
[3]宋海友,張巧珍.多線程技術在數據通信中的應用[J].電子技術與軟件工程,2012,11:64.