
OA軟件的“領(lǐng)頭羊”九思軟件,作為國(guó)家級(jí)的高新技術(shù)企業(yè)、雙軟認(rèn)證企業(yè)、ISO9000質(zhì)量體系認(rèn)證企業(yè). . .
據(jù)筆者了解,隨著現(xiàn)代企業(yè)的發(fā)展規(guī)模的壯大,企業(yè)間的競(jìng)爭(zhēng)愈加濃烈,OA辦公軟件在企業(yè)的日常管理和競(jìng)爭(zhēng)中一直占據(jù)著重要的角色。OA軟件的高效運(yùn)轉(zhuǎn)決定著企業(yè)在未來(lái)市場(chǎng)中的地位,而決定OA辦公軟件的高效性,正是OA軟件中多線程技術(shù)的應(yīng)用。多線程技術(shù)支持同時(shí)處理多項(xiàng)工作,大幅度提高了OA管理軟件的性能和使用效率。
通常,當(dāng)我們處理大量的IO操作時(shí)或處理的情況需花大量的時(shí)間等等,比如:讀寫(xiě)文件、視頻圖像的采集、處理、顯示、保存等。傳統(tǒng)簡(jiǎn)單的順序執(zhí)行方式不能滿(mǎn)足我們所需。這些問(wèn)題都可以用多線程技術(shù)得到很好的解決。
OA軟件的“領(lǐng)頭羊”九思軟件,作為國(guó)家級(jí)的高新技術(shù)企業(yè)、雙軟認(rèn)證企業(yè)、ISO9000質(zhì)量體系認(rèn)證企業(yè)以及“新世紀(jì)辦公自動(dòng)化系統(tǒng)的領(lǐng)軍品牌”和“集團(tuán)化協(xié)同辦公系統(tǒng)最佳產(chǎn)品獎(jiǎng)”的獲得者,其研發(fā)的iThink協(xié)同管理軟件是在協(xié)同管理理論和技術(shù)研究上的最新成果。其中高性能多并發(fā)的多線程技術(shù)是其最主要特征之一。
iThink協(xié)同管理軟件使用多線程技術(shù)的好處:
1.提高CPU的使用率
OA軟件采用多線程的方式去同時(shí)完成幾件事情而互不干擾。
目前世界上大多數(shù)計(jì)算機(jī)只有一塊CPU.因此,充分利用CPU資源顯得尤為重要。當(dāng)執(zhí)行單線程程序時(shí),由于在程序發(fā)生阻塞時(shí)CPU可能會(huì)處于空閑狀態(tài)。這將造成大量的計(jì)算資源的浪費(fèi)。而在程序中使用多線程可以在某一個(gè)線程處于休眠或阻塞時(shí),而CPU又恰好處于空閑狀態(tài)時(shí)來(lái)運(yùn)行其他的線程,使用線程可以把占據(jù)長(zhǎng)時(shí)間的程序中的任務(wù)放到后臺(tái)去處理,這樣CPU就很難有空閑的時(shí)候。因此,CPU資源就得到了充分地利用。
2. 可以簡(jiǎn)化編程模型
如果程序只完成一項(xiàng)任務(wù),那只要寫(xiě)一個(gè)單線程的程序,并且按著執(zhí)行這個(gè)任務(wù)的步驟編寫(xiě)代碼即可。但要完成多項(xiàng)任務(wù),如果還使用單線程的話(huà),那就得在在程序中判斷每項(xiàng)任務(wù)是否應(yīng)該執(zhí)行以及什么時(shí)候執(zhí)行。如顯示一個(gè)時(shí)鐘的時(shí)、分、秒三個(gè)指針。使用單線程就得在循環(huán)中逐一判斷這三個(gè)指針的轉(zhuǎn)動(dòng)時(shí)間和角度。如果使用三個(gè)線程分另來(lái)處理這三個(gè)指針的顯示,那么對(duì)于每個(gè)線程來(lái)說(shuō)就是指行一個(gè)單獨(dú)的任務(wù)。這樣有助于人員對(duì)程序的理解和維護(hù)。
3. 簡(jiǎn)化異步事件的處理
當(dāng)一個(gè)服務(wù)器應(yīng)用程序在接收不同的客戶(hù)端連接時(shí)最簡(jiǎn)單地處理方法就是為每一個(gè)客戶(hù)端連接建立一個(gè)線程。然后監(jiān)聽(tīng)線程仍然負(fù)責(zé)監(jiān)聽(tīng)來(lái)自客戶(hù)端的請(qǐng)求。如果這種應(yīng)用程序采用單線程來(lái)處理,當(dāng)監(jiān)聽(tīng)線程接收到一個(gè)客戶(hù)端請(qǐng)求后,開(kāi)始讀取客戶(hù)端發(fā)來(lái)的數(shù)據(jù),在讀完數(shù)據(jù)后,read方法處于阻塞狀態(tài),也就是說(shuō),這個(gè)線程將無(wú)法再監(jiān)聽(tīng)客戶(hù)端請(qǐng)求了。而要想在單線程中處理多個(gè)客戶(hù)端請(qǐng)求,就必須使用非阻塞的Socket連接和異步I/O.但使用異步I/O方式比使用同步I/O更難以控制,也更容易出錯(cuò)。因此,使用多線程和同步I/O可以更容易地處理類(lèi)似于多請(qǐng)求的異步事件。
4. 用戶(hù)界面更吸引人
用戶(hù)界面可以更加吸引人,這樣比如用戶(hù)點(diǎn)擊了一個(gè)按鈕去觸發(fā)某些事件的處理,可以彈出一個(gè)進(jìn)度條來(lái)顯示處理的進(jìn)度
5. 節(jié)約成本
提高系統(tǒng)的執(zhí)行效率,既不需要在額外購(gòu)買(mǎi)CPU,也不會(huì)用啟太多的線程而占用大量的系統(tǒng)資源(在默認(rèn)情況下,一個(gè)線程所占的內(nèi)存空間要遠(yuǎn)比一個(gè)進(jìn)程所占的內(nèi)存空間小得多),而多線程可以模擬多塊CPU的運(yùn)行方式,因此,使用多線程是提高程序執(zhí)行效率的最廉價(jià)的方式。