欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA多線程Thread和Runnable的實現(xiàn)

 更新時間:2013年03月17日 12:11:01   作者:  
java中實現(xiàn)多線程有兩種方法:一種是繼承Thread類,另一種是實現(xiàn)Runnable接口。

java中只允許單一繼承,但允許實現(xiàn)多個接口,因此第二種方法更靈活。

復(fù)制代碼 代碼如下:

/**
     * 運行繼承java.lang.Thread類定義的線程
     */
    public void startOne() {
        // 創(chuàng)建實例
        OneThread oneThread = new OneThread();
        // 啟動線程ThreadA
        oneThread.startThreadA();
        try {
            // 設(shè)置線程休眠1秒
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        // 停止線程,此處為什么不用stop()方法,因為該方法已經(jīng)廢棄,但可以用在死鎖。
        oneThread.stopThreadA();
    }

復(fù)制代碼 代碼如下:

/**
     * 運行實現(xiàn)Runnable接口定義的線程
     */
    public void startTwo() {
        // 創(chuàng)建實例
        Runnable runnable = new TwoThread();
        // 將實例放入到線程中
        Thread threadB = new Thread(runnable);
        // 啟動線程
        threadB.start();
    }

復(fù)制代碼 代碼如下:

// 繼承Thread類定義線程
class OneThread extends Thread {
    private boolean running = false;

    public void start() {
        this.running = true;
        super.start();
    }
    public void run() {
        int i = 0;
        try {
            while (running) {
                System.out.println("繼承Thread類定義線程程序體......" + i++);
                Thread.sleep(200);
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    public void startThreadA() {
        System.out.println("啟動繼承Thread類定義線程");
        this.start();
    }
    public void stopThreadA() {
        System.out.println("關(guān)閉繼承Thread類定義線程");
        this.running = false;
    }
}

復(fù)制代碼 代碼如下:

// 實現(xiàn)Runnable接口定義線程
class TwoThread implements Runnable {
    private Date runDate;

    public void run() {
        System.out.println("實現(xiàn)Runnable接口定義線程程序體......");
        this.runDate = new Date();
        System.out.println("線程啟動時間......" + runDate);
    }

復(fù)制代碼 代碼如下:

public static void main(String[] args) {
        // 實例化對象
        ThreadStartAndStop threadStartAndStop = new ThreadStartAndStop();
        threadStartAndStop.startOne();
        threadStartAndStop.startTwo();
    }

 啟動繼承Thread類定義線程
繼承Thread類定義線程程序體......0
繼承Thread類定義線程程序體......1
繼承Thread類定義線程程序體......2
繼承Thread類定義線程程序體......3
繼承Thread類定義線程程序體......4
關(guān)閉繼承Thread類定義線程
實現(xiàn)Runnable接口定義線程程序體......
線程啟動時間......Fri Mar 15 12:56:57 CST 2013

相關(guān)文章

  • Java Vector和ArrayList的異同分析及實例講解

    Java Vector和ArrayList的異同分析及實例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于Java Vector和ArrayList的異同分析及實例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-01-01
  • 簡單了解java自定義和自然排序

    簡單了解java自定義和自然排序

    這篇文章主要介紹了簡單了解java自定義和自然排序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 詳解JAVA動態(tài)代理

    詳解JAVA動態(tài)代理

    這篇文章主要介紹了JAVA動態(tài)代理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java使用list集合remove需要注意的事項(使用示例)

    Java使用list集合remove需要注意的事項(使用示例)

    List集合的一個特點是它其中的元素是有序的,也就是說元素的下標(biāo)是根據(jù)插入的順序來的,在刪除頭部或者中間的一個元素后,后面的元素下標(biāo)會往前移動,本文給大家介紹Java使用list集合remove需要注意的事項,感興趣的朋友一起看看吧
    2022-01-01
  • Java?集合框架?Queue?和?Stack?體系

    Java?集合框架?Queue?和?Stack?體系

    這篇文章主要介紹了Java?集合框架Queue和Stack體系,Stack?繼承自Vector,并拓展了五個允許將容器視為棧結(jié)構(gòu)的操作,Queue接口定義了隊列的能力,它繼承自Collection,更多相關(guān)內(nèi)容需要得小伙伴可以參考一下
    2022-06-06
  • Java多線程、進度條實現(xiàn)賽馬實驗的示例代碼

    Java多線程、進度條實現(xiàn)賽馬實驗的示例代碼

    這篇文章主要介紹了Java多線程、進度條實現(xiàn)賽馬實驗的示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Java GUI進階之流式布局管理器FlowLayout專項精講

    Java GUI進階之流式布局管理器FlowLayout專項精講

    FlowLayout-流式布局管理器,按水平方向依次排列放置組件,排滿一行,換下一行繼續(xù)排列。排列方向(左到右 或 右到左)取決于容器的componentOrientation屬性
    2022-04-04
  • SpringBoot實現(xiàn)反向代理的示例代碼

    SpringBoot實現(xiàn)反向代理的示例代碼

    本文主要介紹了SpringBoot實現(xiàn)反向代理的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java的Junit測試框架中的其他注解說明

    Java的Junit測試框架中的其他注解說明

    這篇文章主要介紹了Java的Junit測試框架中的其他注解說明,JUnit是一個開源的java單元測試框架,它是XUnit測試體系架架構(gòu)的一種體現(xiàn),
    是Java語言事實上的標(biāo)準(zhǔn)單元測試庫,需要的朋友可以參考下
    2023-10-10
  • spring security自定義登錄頁面

    spring security自定義登錄頁面

    在項目中我們肯定不能使用Spring自己生成的登錄頁面,而要用我們自己的登錄頁面,下面通過本文給大家分享spring security自定義登錄頁面的實現(xiàn)方法,一起看看吧
    2017-09-09

最新評論