Java 并发

通过New Thread的方式

LiftOff.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package concurrency;
 
public class LiftOff implements Runnable{
    protected int countDown = 10//Default
    private static int taskCount = 0;
    private final int id = taskCount++;
    public LiftOff(){}
//    public LiftOff(int countDown){
//        this.countDown = countDown;
//    }
    public String status(){
        return "#" + id + " (" + (countDown > 0 ? countDown : "Liftoff!") + ")";
    }
 
    public void run() {
        while(countDown-- > 0){
            System.out.println(status());
            Thread.yield();
        }
    }
}

使用了总是分配给main()的那个线程

MainThread.java

1
2
3
4
5
6
7
8
package concurrency;
 
public class MainThread {
    public static void main(String[] args) {
        LiftOff launch = new LiftOff();
        launch.run();
    }
}

Thread构造器只需要一个Runnable对象,调用Thread对象的start()方法为该线程执行必须的初始化操作.

然后调用 Runnable的run()方法,以便在这个新线程中启动该任务.

BasicThreads.java

1
2
3
4
5
6
7
8
9
package concurrency;
 
public class BasicThreads {
    public static void main(String[] args) {
        Thread t = new Thread(new LiftOff());
        t.start();
        System.out.println("Waiting for LiftOff");
    }
}