日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA中的多线程(一)

發布時間:2025/6/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA中的多线程(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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中的多线程(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。