多執行緒有什麼用 妙趣橫生的比喻

2021-07-26 20:51:32 字數 693 閱讀 4578

這麼解釋問題吧:

1。單程序單執行緒:乙個人在乙個桌子上吃菜。

2。單程序多執行緒:多個人在同乙個桌子上一起吃菜。

3。多程序單執行緒:多個人每個人在自己的桌子上吃菜。

多執行緒的問題是多個人同時吃一道菜的時候容易發生爭搶,例如兩個人同時夾乙個菜,乙個人剛伸出筷子,結果伸到的時候已經被夾走菜了。。。此時就必須等乙個人夾一口之後,在還給另外乙個人夾菜,也就是說資源共享就會發生衝突爭搶。

1。對於 windows 系統來說,【開桌子】的開銷很大,因此 windows 鼓勵大家在乙個桌子上吃菜。因此 windows 多執行緒學習重點是要大量面對資源爭搶與同步方面的問題。

2。對於 linux 系統來說,【開桌子】的開銷很小,因此 linux 鼓勵大家盡量每個人都開自己的桌子吃菜。這帶來新的問題是:坐在兩張不同的桌子上,說話不方便。因此,linux 下的學習重點大家要學習程序間通訊的方法。

--補充:有人對這個開桌子的開銷很有興趣。我把這個問題推廣說開一下。

開桌子的意思是指建立程序。開銷這裡主要指的是時間開銷。

可以做個實驗:建立乙個程序,在程序中往記憶體寫若干資料,然後讀出該資料,然後退出。此過程重複 1000 次,相當於建立/銷毀程序 1000 次。在我機器上的測試結果是:

ubuntulinux:耗時 0.8 秒

windows7:耗時 79.8 秒

兩者開銷大約相差一百倍。

執行緒控制代碼有什麼用

今天溫習很久前寫的 發現自己寫的這麼一句 m htheard createthread null,0,regnotifyproc,lpvoid this 0,null closehandle m htheard 突然給糊塗了,剛建立的執行緒,為什麼有close了,還是當初入門不踏實,沒有細想,現在反...

cpu執行緒 cpu處理器多執行緒有什麼用

電腦cpu處理器多執行緒有什麼用 執行緒是cpu排程和分配的基本單位。多執行緒決定了cpu單個核心下可以同時處理多少任務而互不干擾。cpu的多執行緒技術可以為運算核心準備更多的待處理資料,減少運算核心的閒置時間,解決了負載均衡問題,充分利用cpu資源,提高cpu的使用率。多執行緒的好處 1 使用多執...

指標的指標有什麼用

指標的用處我知道 比如 int p 3 int x p x作為p的索引 那麼指標的指標呢,既然它出現在c中肯定有用,可是我實在不知道有什麼用,難道對指標進行索引,索引的索引?答 我給樓主乙個最直接的理由 那就是如果你希望在乙個函式的引數中改變乙個指標的值,你就只能傳這個指標的指標給這個函式。比如有i...