什麼是多執行緒,多程序?為什麼要用多執行緒

時間 2023-04-30 08:00:02

1樓:釗鉼

1、多執行緒:是指從軟體或者硬體上實現多個執行緒併發執行的技術。具有多執行緒能力的計算機因有硬體支援而能夠在同一時間執行多於一個執行緒,進而提升整體處理效能。

具有這種能力的系統包括對稱多處理機、多核心處理器以及晶片級多處理或同時多執行緒處理器。

在一個程式中,這些獨立執行的程式片段叫作「執行緒」,利用它程式設計的概念就叫作「多執行緒處理」。具有多執行緒能力的計算機因有硬體支援而能夠在同一時間執行多於一個執行緒,進而提升整體處理效能。

2、多程序:windows 應用程式中訊息有兩種送出途徑;直接和排隊。windows或某些執行的應用程式可直接釋出訊息給視窗過程,或者,訊息可送到訊息列象連續不斷輪詢訊息佇列的os中當前執行的每個程序都 事件驅動程式不是由事件的順序來控制,而是由事件的發生來控,而事件的發生是隨機的、不確定的,這就允許程式的使用者用各種合理的順序來安排程式的流程。

2樓:stone李想

程序(process)是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,是系統進行資源分配和排程的一個獨立單位。

執行緒(thread)是程序的一個實體,是cpu排程和分派的基本單位。執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

執行緒和程序的關係是:執行緒是屬於程序的,執行緒執行在程序空間內,同一程序所產生的執行緒共享同一記憶體空間,當程序退出時該程序所產生的執行緒都會被強制退出並清除。

執行緒可與屬於同一程序的其它執行緒共享程序所擁有的全部資源,但是其本身基本上不擁有系統資源,只擁有一點在執行中必不可少的資訊(如程式計數器、一組暫存器和棧)。

3樓:影風逐塵

多執行緒是嵌入式linux裡面的,多程序是eda裡面的。

為什麼要用多執行緒

4樓:朗賽數碼

任何一項技術的出現都是為了解決現有問題。

之前的網際網路大多是單機服務,體量小。而現在的更多是叢集服務,同一時刻有多個使用者同時訪問伺服器,那麼就會有很多執行緒併發訪問。

比如,常見的電商系統場景,同一時刻比如整點搶購時,會有海量使用者同時訪問伺服器。

如果不使用多執行緒處理,那基本涼涼……

所以現在公司裡開發基本都是多執行緒的。使用多執行緒確實提高了執行的效率。

但與此同時,也會伴隨著一些問題出現,讓人很頭痛。

比如,需要特別注意資料的增刪改情況,也就是執行緒安全問題。

想要保證執行緒安全也有很多方式,比如說:加鎖。

面試官現在也非常喜歡拿多執行緒來考你,比如:

產生死鎖的條件是什麼,怎麼解決死鎖?

樂觀鎖和悲觀鎖如何實現,有哪些實現方式?

非公平鎖和公平鎖在reentrantlock中的實現?

lock 和 synchronized 有什麼區別?

reentrantlock和synchronized如何選擇?

如今多執行緒在面試中已經是常客了,同時也是我們必備的知識點。

因此,我們需要理解多執行緒的原理和它可能會產生的問題以及如何解決問題,才能拿下高薪職位。

為什麼有人說Python的多執行緒是雞肋

多執行緒還是有用的,多程序有多程序的好處,多執行緒有多執行緒的好處。多程序穩定,啟動時開銷大點,但如果你的執行時間遠大於多程序的時間,用多程序比較方便,如postgresql用多程序,chrome 多程序。如果你只是想做個定時器樣的簡單東西,對穩定性要求低些,如vb,c 類似的定時器,用多執行緒吧,...

什麼是程序,什麼叫程序 什麼叫執行緒

程序的意思 事物發展變化或進行的過程 歷史的 革命的 拼音 j n ch ng 引證解釋 楊朔 前進,鋼鐵的大軍!是的,每個人都走了一段遙遠的道路,每件 也都帶著光榮不朽的歷史印記,標誌著幾十年 中國 革命的偉大程序。程序的近義詞 一 過程 gu ch ng 事情進行或事物發展所經過的程式 認識 生...

什麼是執行緒 程序和執行緒是什麼意思?

執行緒是指程式的一個指令執行序列,win32 平臺支援多執行緒程式,允許程式中存在多個執行緒。在單 cpu 系統中,系。統把 cpu 的時間片按照排程演算法分配給各個執行緒,因此各執行緒實際上是分時執行的,在多 cpu 的 windows nt 系統中,同一。個程式的不同執行緒可以被分配到不同的 c...