1. 程式人生 > >java執行緒理解及運用

java執行緒理解及運用

執行緒是什麼

執行緒是程序中的一個實體,是被系統獨立排程和分派的基本單位,執行緒自己不擁有系統資源,只擁有一點在執行中必不可少的資源,但它可與同屬一個程序的其它執行緒共享程序所擁有的全部資源。一個執行緒可以建立和撤消另一個執行緒,同一程序中的多個執行緒之間可以併發執行。由於執行緒之間的相互制約,致使執行緒在執行中呈現出間斷性。執行緒也有就緒、阻塞和執行三種基本狀態。  
  執行緒是程式中一個單一的順序控制流程.在單個程式中同時執行多個執行緒完成不同的工作,稱為多執行緒.
  執行緒和程序的區別在於,子程序和父程序有不同的程式碼和資料空間,而多個執行緒則共享資料空間,每個執行緒有自己的執行堆疊和
程式計數器
為其執行上下文.多執行緒主要是為了節約CPU時間,發揮利用,根據具體情況而定. 執行緒的執行中需要使用計算機的記憶體資源和CPU

執行緒的生命週期

執行緒有5種狀態:新建(new)、就緒(runnable)、執行(running)、阻塞、死亡(dead)。每種狀態都是可以相互轉換的。

使用執行緒方法

1、繼承Thread類2、實現Runnable介面,但是Runnable介面中沒有start()方法,所以還需要new一個新的Thread執行緒來啟動實現Runnable的子類。

擴充

程序和執行緒的區別:

程序

    程序是一個程式執行的例項,比如說我們開啟10個IE瀏覽器視窗,那麼就有10個程序開啟。一個程序可以同時被執行若干次,程序是CPU進行資源分配和排程的基本單位。
執行緒    執行緒是比程序更小的執行單位,一個程序只少有一個(主執行緒)或多個執行緒,每個執行緒在完成不同的任務,當執行緒內的多個執行緒在同時執行時,這種方式叫做併發。多個執行緒的使用大大提高了程式執行效率和處理能力。程序與執行緒的區別    每個程序都需要作業系統為其分配獨立的記憶體地址空間,而同一程序中的所有執行緒在同一記憶體地址空間,它們共享同一塊記憶體空間中的資源。

轉載:https://blog.csdn.net/u010456903/article/details/45871441  https://www.cnblogs.com/liboBlog/p/6430551.html