java25.線程------常用方法

1.取得線程名稱

getName();

2.取得當前線程對象

currentThread();

3.判斷線程是否啓動

isAlive();

4.線程的強行運行

join();

示例:

class RunnableDemo implements Runnable {

    private String name;

    public RunnableDemo(String name) {
        this.name = name;
    }

    public void run() {
        for (int i = 0; i < 100; i++) {
            // 打印出當前線程對象的名稱
            // System.out.println("當前線程對象:" + Thread.currentThread().getName());
            System.out.println(name + ":" + i);
        }
    }

}

public class ThreadDemo03 {

    public static void main(String[] args) {
        RunnableDemo r = new RunnableDemo("A");
        Thread t = new Thread(r);
        // 判斷線程是否啓動
        // System.out.println(t.isAlive());//啓動前爲false
        t.start();
        // System.out.println(t.isAlive());//啓動後爲true
        for (int i = 0; i < 50; i++) {// 主線程運行到i>10時,刺激線程t強行執行
            if (i > 10) {
                try {
                    t.join();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("主線程" + i);
        }
    }

}

5.線程的休眠

sleep()
.
.
示例:

class RunnableDemo implements Runnable {

    private String name;

    public RunnableDemo(String name) {
        this.name = name;
    }

    public void run() {
        for (int i = 0; i < 100; i++) {
            try {
                Thread.sleep(1000);
                System.out.println(name + ":" + i);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

}

public class ThreadDemo03 {

    public static void main(String[] args) {
        RunnableDemo r = new RunnableDemo("A");
        Thread t = new Thread(r);
        t.start();

    }

}

結果:
每秒鐘顯示一行數據

6.線程的禮讓

示例:

class RunnableDemo implements Runnable {

    private String name;

    public RunnableDemo(String name) {
        this.name = name;
    }

    public void run() {
        for (int i = 0; i < 50; i++) {
            System.out.println(name + ":" + i);
            if (i==10) {
                System.out.println("禮讓");
                Thread.yield();// 禮讓方法
            }
        }
    }

}

public class ThreadDemo03 {

    public static void main(String[] args) {
        RunnableDemo r1 = new RunnableDemo("A");
        RunnableDemo r2 = new RunnableDemo("B");
        Thread t1 = new Thread(r1);
        Thread t2 = new Thread(r2);
        t1.start();
        t2.start();
    }

}

結果:
這裏寫圖片描述

發佈了53 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章