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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java二期_JAVA基础之多线程二期

發布時間:2025/3/11 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java二期_JAVA基础之多线程二期 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、主線程

public class MainThread {

/**

* 主線程:指執行main()方法的線程,且該線程是單線程,從上到下執行

* JVM執行main()方法時,JVM會將main()方法放入到棧內存中執行,

* 同時CPU會為main()方法開辟一條執行路徑,該路徑名稱就是主線程

*

* @param args

*/

public static void main(String[] args) {

Persion p1 = new Persion("小強");

p1.run();

Persion p2 = new Persion("秦問天");

p2.run();

}

}

二、創建線程的兩個方式

方式1:繼承Thread類

步驟:

A、繼承Thread類,并重寫該類的run()方法,該run()方法的方法體就代表了線程需要完成的任務,因此把 run()方法稱為線程執行體。

B、創建Thred子類實現,既是創建線程對象

C、線程對象調用start()方法來開啟線程

測試:

public class Demo2 {

public static void main(String[] args) {

MyThread my = new MyThread("秦問天");

my.start();

for (int i = 1; i <= 20; i++) {

System.out.println("main()....."+i);

}

}

}

自定義線程類:

public class MyThread extends Thread {

private String name;

public MyThread() {}

public MyThread(String name) {

this.name = name;

}

@Override

public void run() {

for (int i = 1; i <= 20; i++) {

System.out.println(this.name+"......<===>..."+i);

}

}

}

三、Thread類

構造方法:

public?Thread() :分配一個新的線程對象。

public?Thread(String?name) :分配一個指定名字的新的線程對象。

public?Thread(Runnable?target) :分配一個帶有指定目標新的線程對象。

public?Thread(Runnable?target,String?name) :分配一個帶有指定目標新的線程對象并指定名字

常用方法:

public?String?getName() :獲取當前線程名稱。

public?void?start() :導致此線程開始執行; Java虛擬機調用此線程的run方法。

public?void?run() :此線程要執行的任務在此處定義代碼。

public?static?void?sleep(long?millis) :使當前正在執行的線程以指定的毫秒數暫停(暫時停止執行)。

public?static?Thread?currentThread() :返回對當前正在執行的線程對象的引用

四、創建線程的方式二

步驟如下:

1. 定義Runnable接口的實現類,并重寫該接口的run()方法,該run()方法的方法體同樣是該線程的線程執行體。

2. 創建Runnable實現類的實例,并以此實例作為Thread的target來創建Thread對象,該Thread對象才是真正 的線程對象。

3. 調用線程對象的start()方法來啟動線程。

測試:

public class MyRunnable implements Runnable {

private String name;

public MyRunnable(String name) {

this.name = name;

}

public void run() {

for (int i = 1; i <=21; i++) {

System.out.println(Thread.currentThread().getName()+"..<===>.."+i);

}

}

}

public class MyRunableTest {

public static void main(String[] args) {

MyRunnable myRunnable = new MyRunnable("張小凡");

//th對象才是真正的線程對象,葉凡才是真正的線程名

Thread th = new Thread(myRunnable,"葉凡");

th.start();

for (int i = 0; i <=21; i++) {

System.out.println("main().."+i);

}

}

}

總結

以上是生活随笔為你收集整理的java二期_JAVA基础之多线程二期的全部內容,希望文章能夠幫你解決所遇到的問題。

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