Java線程的建立及啓動

1.繼承Thread類,重寫該類的run()方法。java

package samTest;

import java.util.Scanner;

/**
 * Created by Sam on 2018-01-02.
 */
public class ThreadTest {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            int flag = in.nextInt();
            Thread t = new MyThread(flag);
            t.start();
            System.out.println(Thread.currentThread().getName() + " " + i);
        }
    }
}


class MyThread extends Thread {
    private Integer threadFlag;

    public MyThread(Integer threadFlag) {
        this.threadFlag = threadFlag;
    }

    @Override
    public void run() {
        System.out.println(threadFlag);
    }
}

2.實現Runnable接口,並重寫該接口的run()方法,該run()方法一樣是線程執行體,建立Runnable實現類的實例,並以此實例做爲Thread類的target來建立Thread對象,該Thread對象纔是真正的線程對象。ide

package samTest;

import java.util.Scanner;

/**
 * Created by Sam on 2018-01-02.
 */
public class ThreadTest {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            int flag = in.nextInt();
            Runnable r = new MyRunnable(flag);
            Thread t = new Thread(r);
            t.start();
            System.out.println(Thread.currentThread().getName() + " " + i);
        }
    }
}

class MyRunnable implements Runnable {
    private Integer threadFlag;

    public MyRunnable(Integer threadFlag) {
        this.threadFlag = threadFlag;
    }

    public void run() {
        System.out.println(threadFlag);
    }
}
相關文章
相關標籤/搜索