人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

轉-對于多線程

轉-對于多線程

更新時間:2022-10-08 文章作者:未知 信息來源:網絡 閱讀次數:

楓葉國游子 2001-07-04 16:32:33
我這里可以大概給你介紹一下,但對于每一種編程模型要看具體的示例是什么,而且我不可能給你羅列所有的代碼,請諒解。

其實我們編程只要盡量站到比較高的層次,很多道理其實你會發現你已經懂了。

就多線程來說,我們開始設想只有兩個線程(>2時是不是算數學歸納法?)那么如果兩個獨立的線程會發生什么呢?

1。當一個線程進入moniter(也就是說站用一個object),另一個線程只有等待或返回,而我們把返回就稱為一種模式,這種模式的英文是Balking。

2。這兩個線程可以是有序的執行,而不是讓OS來調度,這時我們要用一個object來調度,這種模式稱為Scheduler。(這個詞及其含義其實OS中就有)。

3。如果這兩個線程同時讀一個資源,我們可以讓他們執行,但如果同時寫的話,你閉著眼睛都會知道可能出現問題,這時我們就要用另一種模式(Read/Write Lock)。

4。如果一個線程是為另一個線程服務的話,比如IE中負責數據傳輸的線程和界面顯示的線程,當一個圖片沒有傳完時,另一個線程就無法顯示,至少是部分沒有傳完。那么這時我們要用一個模式稱為生產者和消費者,英文是Producer-Consumer。

5。兩個線程的消亡也可以不是完全又OS來控制的,這時我們需要給出一個條件,使得每個線程在符合條件是才消亡,也就是有序的消亡,我們稱為Two-Phase Termination。

那么有這5個線程模型,基本上可以用到大多數編程任務中。我需要指出的三點是:

1。從高層次上我們可以再驗證是否含蓋了所有的情況。

2。其實模式不是完全固定的或者說象定律一樣,而模式可以為不同的情況進行適當的調整和組合,目的是為了簡潔和高效。

3。學習模式是為了具備更好的分析問題的能力。

而似乎這些來自西方的技術,并且是目前的,我們有沒有呢?其實我個人有個大膽的推測,我認為我們祖先的《孫子兵法》就是很好設計模式,因為它符合設計模式需要的基本特征,就是在特定的條件下,用某種特定的方式合理且高效的解決問題。只不過一是用在軍事上,二是完備性方面我們還沒研究。但我認為我們至少沒有很好的擴展和進行類比式的應用,否則今天可能是我們中國人教外國人什么是設計模式。

類比的方法實際上是發明或發現的常用方法。不知能否讓你感覺到其實外國的技術并不是那么的神秘,也許我們從自身的文化當中挖掘出的東西太少了。

P.S.更深一步的研究你可以參考Doug Lea. <<Concurrent Programming in Java>>.

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 左权县| 和林格尔县| 信宜市| 永吉县| 荆州市| 龙里县| 特克斯县| 怀柔区| 石城县| 陵川县| 桓仁| 布拖县| 桓台县| 天祝| 垫江县| 凌源市| 丹巴县| 方正县| 巴青县| 邵武市| 会东县| 观塘区| 舟山市| 罗定市| 湛江市| 山阴县| 永年县| 大庆市| 定陶县| 桂平市| 望都县| 太湖县| 连江县| 舒城县| 长葛市| 富阳市| 股票| 浪卡子县| 浠水县| 桐城市| 霍城县|