Java多線程-概念與原理


一、操作系統中線程和進程的概念
現在的操作系統是多任務操作系統多線程是實現多任務的一種方式

進程是指一個內存中運行的應用程序,每個進程都有自己獨立的一塊內存空間,一個進程中可以啟動多個線程。比如在Windows系統中,一個運行的exe就是一個進程。

線程是指進程中的一個執行流程,一個進程中可以運行多個線程。比如java.exe進程中可以運行很多線程。線程總是屬於某個進程,進程中的多個線程共享進程的內存。

“同時”執行是線程給人的感覺,在線程之間實際上是輪換執行。

二、Java中的線程
創建多線程的兩種方式:繼承Thread類和實現Runnable接口。

一個Thread類實例只是一個對象,像Java中的任何其他對象一樣,具有變量和方法,生死於堆上。

Java中,每個線程都有一個調用棧,即使不在程序中創建任何新的線程,線程也在后台運行着。

一個Java應用總是從main()方法開始運行,mian()方法運行在一個線程內,它被稱為主線程

一旦創建一個新的線程,就產生一個新的調用棧。

線程總體分兩類:用戶線程和守候線程
當所有用戶線程執行完畢的時候,JVM自動關閉。但是守候線程卻不獨立於JVM,守候線程一般是由操作系統或者用戶自己創建的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM