java多线程编程一之java线程的原理
2019獨角獸企業重金招聘Python工程師標準>>>
????我們現在使用的操作系統都是多任務操作系統,每個運行的任務就是操作系統所做的一件事情,比如我們在和別人聊QQ時還可以一邊聽著歌,一般來說一個任務對應著一個進程,也有可能包含多個進程。
????線程是進程中的實體,一個進程可以擁有多個線程,一個線程必須有一個父進程。線程不擁有系統資源,只有運行必須的一些數據結構;它與父進程的其它線程共享該進程所擁有的全部資源。進程可以創建和撤消線程,從而實現程序的并發執行。一般,線程具有就緒、阻塞和運行三種基本狀態。多線程的目的是為了最大限度的利用CPU資源。
? ? ? ?同一進程的里多個子線程看似可以同步進行,其實不是同步的(由于CPU在同一時間內只能處理一個線程),他們可以訪問父線程的資源與對象,這樣一來的優點是可以實現子線程與子線程之間的通信并且可以節省內存空間,不必為每個子線程重新分配內存空間。但缺點是容易使得數據混亂,線程不安全。
java線程的創建與啟動
一、線程創建的方法
1、擴展java.lang.Thread類。
2、實現java.lang.Runnable接口。
二、啟動進程
調用start()方法。
在調用start()方法之前:線程處于新狀態中,新狀態指有一個Thread對象,但還沒有一個真正的線程。
?
在調用start()方法之后:
啟動新的執行線程(具有新的調用棧);
該線程從新狀態轉移到可運行狀態;
當該線程獲得機會執行時,其目標run()方法將運行。
????
轉載于:https://my.oschina.net/u/1466944/blog/207260
總結
以上是生活随笔為你收集整理的java多线程编程一之java线程的原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雷霆战机烈阳勋章哪里打
- 下一篇: 《EDIUS 6.5快刀手高效剪辑技法》