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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java基础 通过继承Thread类和实现Runnable接口创建线程

發(fā)布時間:2025/3/12 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java基础 通过继承Thread类和实现Runnable接口创建线程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

java 創(chuàng)建線程

Java中,線程也是一種對象,但不是任何對象都可以成為線程。

只有實現(xiàn)了Runnable接口或繼承了Thread類的對象才能成為線程。

繼承Thread類

//格式: class 類名 extends Thread//從Thread類擴(kuò)展出子類 {屬性方法修飾符 run(){//覆寫Thread類里的run()方法通過線程處理的程序} }

例子:

package com.thread; //Thread存放在java.lang類庫里,但并不需要加載java.lang類庫,因為它會自動加載。 public class Test {public static void main(String args[]){new TestThread().start();//啟動線程必須要調(diào)用Thread類中的start()方法,//調(diào)用了start()方法,也就是調(diào)用了run()方法。for(int i = 0; i < 5; ++i) {System.out.println("main 線程在運行");}} } class TestThread extends Thread {public void run() {//run()方法是定義在Thread類里的一個方法,//因此把線程的程序代碼編寫在run()方法內(nèi),所做的就是覆寫的操作。for(int i = 0; i < 5; ++i) {System.out.println("TestThread在運行");}} } /*main 線程在運行 TestThread在運行 TestThread在運行 TestThread在運行 TestThread在運行 TestThread在運行 main 線程在運行 main 線程在運行 main 線程在運行 main 線程在運行 */

實現(xiàn)Runnable接口

Java程序只允許單一繼承,一個子類只能有一個父類。

所以,在Java中如果一個類繼承了某一個類,同時又想采用多線程技術(shù),就不能通過繼承Thread類的方法產(chǎn)生線程。

這時需要用Runnable接口來創(chuàng)建線程。

class 類名 implements Runnable//實現(xiàn)Runnable接口 {屬性方法修飾符 run(){//覆寫Thread類里的run()方法以線程處理的程序;} }

下面的例子:

為什么實現(xiàn)了Runnable接口還需要調(diào)用Thread類中的start()方法才能啟動多線程?

通過看JDK文檔可以知道,Runnable接口中只有一個run()方法,并沒有start()方法。所以要用Thread類中的start()方法來啟動多線程。

Thread里有一個構(gòu)造方法:public Thread(Runnable target),在這個構(gòu)造方法中,用一個Runnable接口的實例化對象作為參數(shù)去實例化Thread類對象。

package com.thread;public class Test {public static void main(String args[]){TestThread t = new TestThread();//實例化一個TestThread類的對象new Thread(t).start();//通過TestThread類實例化一個Thread類的對象,之后調(diào)用start()方法啟動多線程for(int i = 0; i < 5; ++i) {System.out.println("main 線程在運行");}} } class TestThread implements Runnable {public void run() {for(int i = 0; i < 5; ++i) {System.out.println("TestThread在運行");}} } /*main 線程在運行 main 線程在運行 main 線程在運行 main 線程在運行 main 線程在運行 TestThread在運行 TestThread在運行 TestThread在運行 TestThread在運行 TestThread在運行 */

總結(jié)

以上是生活随笔為你收集整理的java基础 通过继承Thread类和实现Runnable接口创建线程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。