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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

extends thread java_java学习之- 线程继承Thread类

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 extends thread java_java学习之- 线程继承Thread类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標簽(空格分隔): 線程

在java。lang包中有個Thread子類,大家可以自行查閱文檔,及范例;

如何在自定義的代碼中,自定義一個線程呢?

1.通過對api的查找,java已經提供了對線程這類事物的描述,就是Thread類,創建線程的第一種方式,就是繼承Thread類:

2.public void run(),如果該線程是使用獨立的Runnable運行對象的run方法,否則該方法不執行任何操作并返回,Thread的子類應該重寫該方法;

3.查看API的時候:查看start方法,使用該線程開始執行,java虛擬機調用該線程的run方法;

class Demo extends Thread{

pulbic void run(){

System.out.println("Demo run");

}

}

class ThreadDemo{

public static void main(String[] args){

Demo d=new Demo();

d.start();

}

}

上述:

創建一個子類的步驟如下:

1.定義類繼承Thread;

2.復寫Thread的run方法;

3.調用線程的start方法,該方法有兩個作用,一個啟動線程,二調用run方法;

4.new一個對象的時候只是創建了一個線程,并未執行,只有調用了start的方法才是被執行了;

如下代碼的分析

package com.wangaling;

class Demo extends Thread{

public void run(){

for(int x=0;x<60;x++) {

System.out.println("demo run-----"+x);

}

}

}

class ThreadDemo{

public static void main(String[] args){

Demo d= new Demo();//創建好一個線程

d.start();

for(int x=0;x<60;x++){

System.out.println("helloworld!----"+x);

}

}

}

執行結果:

demo run-----0

helloworld!----0

demo run-----1

helloworld!----1

demo run-----2

helloworld!----2

demo run-----3

helloworld!----3

helloworld!----4

helloworld!----5

helloworld!----6

demo run-----4

helloworld!----7

demo run-----5

helloworld!----8

demo run-----6

helloworld!----9

demo run-----7

helloworld!----10

demo run-----8

helloworld!----11

demo run-----9

demo run-----10

helloworld!----12

demo run-----11

helloworld!----13

helloworld!----14

demo run-----12

helloworld!----15

demo run-----13

helloworld!----16

demo run-----14

helloworld!----17

demo run-----15

helloworld!----18

demo run-----16

helloworld!----19

demo run-----17

helloworld!----20

helloworld!----21

demo run-----18

helloworld!----22

demo run-----19

helloworld!----23

demo run-----20

helloworld!----24

demo run-----21

helloworld!----25

demo run-----22

helloworld!----26

demo run-----23

helloworld!----27

helloworld!----28

helloworld!----29

helloworld!----30

helloworld!----31

demo run-----24

helloworld!----32

demo run-----25

helloworld!----33

helloworld!----34

demo run-----26

helloworld!----35

demo run-----27

helloworld!----36

demo run-----28

helloworld!----37

helloworld!----38

demo run-----29

helloworld!----39

demo run-----30

helloworld!----40

demo run-----31

demo run-----32

demo run-----33

demo run-----34

demo run-----35

demo run-----36

demo run-----37

demo run-----38

helloworld!----41

demo run-----39

helloworld!----42

demo run-----40

helloworld!----43

demo run-----41

helloworld!----44

demo run-----42

helloworld!----45

helloworld!----46

helloworld!----47

helloworld!----48

helloworld!----49

demo run-----43

helloworld!----50

helloworld!----51

demo run-----44

helloworld!----52

demo run-----45

helloworld!----53

helloworld!----54

helloworld!----55

helloworld!----56

demo run-----46

helloworld!----57

demo run-----47

helloworld!----58

demo run-----48

demo run-----49

demo run-----50

demo run-----51

demo run-----52

demo run-----53

demo run-----54

helloworld!----59

demo run-----55

demo run-----56

demo run-----57

demo run-----58

demo run-----59

Process finished with exit code 0

上述結果產生的分析:

1.main----->d=new demo()產生了一個新的控制單元---->start()開啟新的控制單,執行:demo run;

2.main----->d=new demo()---->start()-->新的控制單元,同時朱函數還要繼續執行:helloworld;

3.以上就開啟一個多線程;

4.ThreadDemo開啟了2個執行路徑:一個是main,一個是d,那么兩個會同時執行嗎?其實是不可能的,Windows是多任務操作系統,你看著電視聽這音樂,看著是同時執行,其實不是的,執行以下電視,執行以下音樂,他在兩個任務之間做了快速切換,你要知道CPU切換的是進程里面的線程,所以到這里大家就會明白為啥任務開的多,反而越慢;

5.目前我們的例子是:一個進程里面有多個線程,多個線程搶奪CPU資源,誰搶到CPU的資源,誰就執行,通過打印看到效果;

6.電腦實現雙核,是不是CPU就可以實現了同時執行,雙核之后內存就是瓶頸;

7.發現運行結果每次都不同:因為多個線程都在獲取CPU的執行使用權,CPU執行到誰,誰就運行明確一點,在某一個時刻,只能有一個程序在運行,當然多核除外,CPU在做著快速的切換,已達到看上去同時執行的效果,我們可以形象的把多線程的運行形容為在互相搶奪CPU的資源或者稱之為執行權,這就是多線程的一個特性,叫隨機性,誰搶到誰執行,至于執行多長時間目前是CPU說的算;

總結

以上是生活随笔為你收集整理的extends thread java_java学习之- 线程继承Thread类的全部內容,希望文章能夠幫你解決所遇到的問題。

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