android程序和執行緒到底有什麼區別

時間 2022-04-14 11:34:35

1樓:睜開眼等你

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

可以申請和擁有系統資源,是乙個動態的概念,是乙個活動的實體,是乙個「執行中的程式」。不只是程式的**,還包括當前的活動。

執行緒:執行緒是程序的乙個實體,是cpu排程和分

派的基本單位,它是比程序更小的能獨立執行的基本單位。執行緒比程序更小,基本上不擁有系統資源,故對它的排程所用資源小,能更高效的提高系統內多個程式間併發執行的

程度。執行緒和程序的區別:

1、子程序和父程序有不同的**和資料空間,而多個執行緒則共享資料空間,每個執行緒有自己的執行堆疊和程式計數器為其執行上下文。

2、程序間相互獨立,同一程序的各執行緒間共享。某程序內的執行緒在其它程序不可見。

3、程序間通訊ipc,執行緒間可以直接讀寫程序資料段(如全域性變數)來進行通訊——需要程序同步和互斥手段的輔助,以保證資料的一致性。

4、執行緒上下文切換比程序上下文切換要快得多。

2樓:碼農架構

[作業系統]程序和執行緒的區別

3樓:匿名使用者

簡單的來說,執行緒相當於乙個程式內部的子任務,乙個應用內部會有多個任務,而乙個程序其實就可以看出乙個應用,系統下有多個程序在執行,乙個程序裡有多個執行緒在執行,每個程序其實就是系統下的乙個應用。你可以這麼理解,程序(應用)就是乙個存放執行緒的容器

4樓:木丁貓

執行緒是執行**的最小單元,執行緒是跑在程序上的。

程序和執行緒有什麼區別?

5樓:xxp閃電的力量

1、性質不同

程序(process)是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。

執行緒(英語:thread)是作業系統能夠進行運算排程的最小單位。它被包含在程序之中,是程序中的實際運作單位。

2、適用範圍不同

使用程序目的在於清晰地刻畫動態系統的內在規律,有效管理和排程進入計算機系統主儲存器執行的程式。

執行緒為作業系統核心排程的核心執行緒,如win32執行緒;由使用者程序自行排程的使用者執行緒,如linux平台的posix thread;或者由核心與使用者程序,如windows 7的執行緒,進行混合排程。

6樓:匿名使用者

暈死,又是長篇累櫝

看到就暈

看作業系統的書去吧,有簡單的解釋

一般來講執行緒是最小的單位,程序是由執行緒組成的

7樓:尚學堂j**a學院

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

執行緒是程序的乙個實體,是cpu排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位。執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧),但是它可與同屬乙個程序的其他的執行緒共享程序所擁有的全部資源。

8樓:雁子

乙個程式至少有乙個程序, 乙個程序至少有乙個執行緒程序:獨立功能的程式,系統級排程和分配資源,有獨立的位址空間,多程序的程式要比多執行緒的的程式健壯,但在程式切換時,耗費資源較大,效率要差一些。

執行緒:是程序的乙個實體,不擁有系統資源,cpu級排程和分派(更小),沒有單獨的位址空間,對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程序。

多執行緒多執行緒:軟體或者硬體上實現多個程序併發執行的技術。

同意時間執行多於乙個執行緒,進而提公升整體處理效能。

執行緒同步

同步:– 1、a執行到一定程度時要依靠b的某個結果,於是停下來,示意b執行;

– 2、b按照**邏輯依次執行後,將結果給a;

– 3、a再繼續操作。

所謂同步,就是在發出乙個功能呼叫時,在沒有得到結果之前,該呼叫就不返回,同時其它執行緒也不能呼叫這個方法。

死鎖(資料庫)

死鎖:– 1、a執行到一定程度時要依靠b的某個結果,於是停下來,示意b執行;

– 2、b按照**邏輯依次執行中需要a的某個結果,示意a執行,等到a執行後再執行b後面的**,並將結果給a;

– 3、a必須等到b的結果才能繼續執行

n 於是問題出來了:a執行不下去,因為沒有b的結果;

b執行不下去,因為沒有a的返回結果,於是死鎖

android程序與執行緒區別

9樓:木丁貓

執行緒是執行**的最小單元,執行緒是跑在程序上的。

android 執行緒和程序的區別

10樓:育知同創教育

程序:是乙個具有bai獨立du

功能的程式關於某個資料集zhi合的一dao次執行活動。進版程是系統進行資源分配和排程權的乙個獨立單位。可以申請和擁有系統資源,是乙個動態的概念,是乙個活動的實體,是乙個「執行中的程式」。

不只是程式的**,還包括當前的活動。

執行緒:執行緒是程序的乙個實體,是cpu排程和分

派的基本單位,它是比程序更小的能獨立執行的基本單位。執行緒比程序更小,基本上不擁有系統資源,故對它的排程所用資源小,能更高效的提高系統內多個程式間併發執行的

程度。執行緒和程序的區別:

1、子程序和父程序有不同的**和資料空間,而多個執行緒則共享資料空間,每個執行緒有自己的執行堆疊和程式計數器為其執行上下文。

2、程序間相互獨立,同一程序的各執行緒間共享。某程序內的執行緒在其它程序不可見。

3、程序間通訊ipc,執行緒間可以直接讀寫程序資料段(如全域性變數)來進行通訊——需要程序同步和互斥手段的輔助,以保證資料的一致性。

4、執行緒上下文切換比程序上下文切換要快得多。

android程序和執行緒的區別

11樓:傑小貓

執行緒是執行**的最小單元,執行緒是跑在程序上的。

android 中 任務,程序和執行緒的區別

12樓:小剛自**

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

可以申請和擁有系統資源,是乙個動態的概念,是乙個活動的實體,是乙個「執行中的程式」。不只是程式的**,還包括當前的活動。

執行緒:執行緒是程序的乙個實體,是cpu排程和分

派的基本單位,它是比程序更小的能獨立執行的基本單位。執行緒比程序更小,基本上不擁有系統資源,故對它的排程所用資源小,能更高效的提高系統內多個程式間併發執行的

程度。執行緒和程序的區別:

1、子程序和父程序有不同的**和資料空間,而多個執行緒則共享資料空間,每個執行緒有自己的執行堆疊和程式計數器為其執行上下文。

2、程序間相互獨立,同一程序的各執行緒間共享。某程序內的執行緒在其它程序不可見。

3、程序間通訊ipc,執行緒間可以直接讀寫程序資料段(如全域性變數)來進行通訊——需要程序同步和互斥手段的輔助,以保證資料的一致性。

4、執行緒上下文切換比程序上下文切換要快得多。

小剛seo為你解答

13樓:八維教育

1 乙個 任務 :從使用者的觀點,他是乙個應用程式;對開發者來講,它是貫穿活動著的任務的乙個或者多個檢視,或者乙個活動棧。

2 乙個 程序 :乙個程序是乙個執行著應用程式**的底層核心過程。通常.apk包裡所有**執行在乙個程序裡,乙個程序對於乙個.apk包。

3 乙個執行緒:每個程序包含乙個或多個執行緒。多數情況下,android 避免在程序裡建立多餘的執行緒,除非它建立它自己的執行緒,我們應保持應用程式的單執行緒性。

程序和執行緒是什麼,有什麼區別呢

14樓:啃芝士

程序和執行緒是什麼關係?有什麼區別?

15樓:単聲噵鎝瞹眛

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

執行緒是程序的乙個實體,是cpu排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位.執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧),但是它可與同屬乙個程序的其他的執行緒共享程序所擁有的全部資源.

程序和執行緒的主要差別在於它們是不同的作業系統資源管理方式。程序有獨立的位址空間,乙個程序崩潰後,在保護模式下不會對其它程序產生影響,而執行緒只是乙個程序中的不同執行路徑。執行緒有自己的堆疊和區域性變數,但執行緒之間沒有單獨的位址空間,乙個執行緒死掉就等於整個程序死掉,所以多程序的程式要比多執行緒的程式健壯,但在程序切換時,耗費資源較大,效率要差一些。

但對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程序。

1、簡而言之,乙個程式至少有乙個程序,乙個程序至少有乙個執行緒。

2、執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。

3、 另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

4、 執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有乙個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

5、從邏輯角度來看,多執行緒的意義在於乙個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。

乙個執行緒可以建立和撤銷另乙個執行緒;同乙個程序中的多個執行緒之間可以併發執行。

相對程序而言,執行緒是乙個更加接近於執行體的概念,它可以與同程序中的其他執行緒共享資料,但擁有自己的棧空間,擁有獨立的執行序列。

擴充套件資料:

區別程式

程式是指令和資料的有序集合,其本身沒有任何執行的含義,是乙個靜態的概念。而程序是程式在處理機上的一次執行過程,它是乙個動態的概念。

程式可以作為一種軟體資料長期存在,而程序是有一定生命期的。程式是永久的,程序是暫時的。

程序更能真實地描述併發,而程式不能;

程序是由程序控制塊、程式段、資料段三部分組成;

程序具有建立其他程序的功能,而程式沒有。

同一程式同時執行於若干個資料集合上,它將屬於若干個不同的程序,也就是說同一程式可以對應多個程序。

在傳統的作業系統中,程式並不能獨立執行,作為資源分配和獨立執行的基本單元都是程序。

執行緒程序和執行緒關係

通常在乙個程序中可以包含若干個執行緒,它們可以利用程序所擁有的資源,在引入執行緒的作業系統中,通常都是把程序作為分配資源的基本單位,而把執行緒作為獨立執行和獨立排程的基本單位,由於執行緒比程序更小,基本上不擁有系統資源,故對它的排程所付出的開銷就會小得多,能更高效的提高系統內多個程式間併發執行的程度。

當下推出的通用作業系統都引入了執行緒,以便進一步提高系統的併發性,並把它視為現代作業系統的乙個重要指標。

控制程序控制是程序管理中最基本的功能。它用於建立乙個新程序,終止乙個已完成的程序,或者去終止乙個因出現某事件而使其無法執行下去的程序,還可負責程序執行中的狀態轉換。

喜歡和愛 到底有什麼不同,愛和喜歡到底有什麼區別?要簡單易懂的解釋最好了

愛乙個人,沒有對錯,只有願不願意。愛可以是單獨的,也可以是相互的。單獨的愛,便是單戀 而相互的愛,便是戀愛。愛不分對錯,只要你心裡頭喜歡著乙個人,愛著乙個人,無論對方是否愛你,也無論對方是否能和你在一起,都不再重要了。無悔地去愛,真誠地去愛,坦率地去愛。也許,多年以後會發現,原來曾經的最美好,已經悄...

喜歡和愛到底有什麼區別,喜歡和愛到底有什麼區別,特別的喜歡是愛嗎

乙個男人喜歡你是想和你享受當下,而愛你的,是陪你計畫未來。喜歡你是被你的樣貌能力所吸引。而愛你是包容你的缺點,不捨得你辛苦在乎你的喜好和需求,喜歡你是以他認為好的方式去改變,而愛你呢,是讓你安心的做你自己。喜歡和愛到底有什麼區別,特別的喜歡是愛嗎 30 愛裡面肯定包含了喜歡,可是喜歡不包含愛。愛乙個...

360防毒和bitdefender到底有沒有什麼區別

這2個防毒軟體沒法比的,乙個世界第一,乙個還沒有排名 360防毒雖然有 位元梵德的引擎沒什麼用的 只是做廣告效應而已,我不是詆毀360系列,360系列中就只有360頑固木馬專殺工具還強一點,其他都沒什麼用。http wenwen.soso.com z q161583200.htm 這是我跟別人回答的...

虛像和實像到底有什麼區別呢,實像和虛像到底有什麼區別?鏡子里成的像是實像還是虛像?

最簡單的判斷標準 由實際的光線匯聚成的像是實像由虛擬的光線匯聚成的像是虛像 實際的光線是說光線是實在的在光屏上被接收或者實在的被眼睛接收 虛擬的光線是人眼錯覺造成的,人眼睛總是認為光線是直線傳播來的.比如看鏡子的時候,實際的一條光線是從物體上一點出發碰到鏡子,被鏡子反射,再折回被你的眼睛接收,這是實...

撤退和逃跑到底有什麼區別

撤退是你完成應該完成的任務走了,逃跑是你還沒完成任務就跑了。褒義詞和貶義詞的區別 看你說誰 如果是己方就是撤退 敵人 當然是逃跑了 撤退說起來比較有面子,是主動的,逃跑說起來比較沒面子,是被動的,但是效果是一樣的,撤退是計畫的一部分,有目的,有序 逃跑是臨時性的,無序,慌亂 上面的說的全都不對 撤退...