JAVA中的多线程(一)
進程:是一個正在執行中的程序
每一個進程執行都有一個執行的順序,該順序是一個執行路徑,或者叫控制單元
線程:就是進程中的一個獨立的控制單元
線程在控制著進程的執行
一個進程中至少有一個線程
?
JAVA VM啟動的時候會有一個進程java.exe
該進程中至少有一個線程在負責java程序的執行
而且這個線程運行的代碼存在于main方法中
該線程稱之為主線程
?
擴展:更細節說明JVM,JVM的啟動不止一個線程,還有負責垃圾回收機制的線程
?
如何在自定義的代碼中,自定義一個線程?
創建線程的第一種方式:
繼承Thread,步驟如下
繼承Thread類
復寫Thread類中的run方法
調用線程的start方法,該方法有兩個作用,一個是啟動線程,第二個調用run方法
發現運行結果每一次都不同
因為多個線程都獲取CPU的執行權,CPU執行到誰,誰就運行
明確一點,在某個時刻,只有一個程序在運行(一個線程),多核除外
CPU做快速的切換,達到看上去是同時運行的結果
我們可以形象把多線程的運行行為看成在互相搶奪CPU的執行權
這就是多線程的一個特性:隨機性。誰搶到誰執行,至于執行多長,CPU說了算
?
1 class Demo extends Thread 2 { 3 public void run() 4 { 5 for(int x = 0; x<60 ;x++) 6 System.out.println("demo run"+x); 7 } 8 } 9 10 class ThreadDemo 11 { 12 public static void main(String[] args) 13 { 14 Demo d = new Demo();//創建好一個線程 15 d.start(); 16 17 for(int x = 0; x<60 ;x++) 18 System.out.println("Hello world"+x);19 } 20 }
?為什么要覆蓋run方法呢?
Thread類用于描述線程
該類就定義了一個功能,用于存儲線程要運行的代碼,該存儲功能就是run方法
也就是說Thread類中的run方法,用于存儲線程要運行的代碼
?
posted on 2017-06-14 22:31 零EVA 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/hepengke/p/7011022.html
總結
以上是生活随笔為你收集整理的JAVA中的多线程(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php--点赞功能的实现
- 下一篇: pfSense修改PPPoE拨号总数