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);
    }
}
相关文章
相关标签/搜索