转载于 : http://www.verejava.com/?id=16992953009875

package com.yield;

/**
 题目: 人们在火车站的售票窗口排队买火车票
    1. 北京西站开门
    2. 打开售票窗口
    3. 北京西站有10张去长沙的票
    4. 打开2个售票窗口, 
    5 假设每个售票窗口每隔1秒钟买完一张票

    1. 根据 名词  找类
    人们(Person), 火车站(Station),火车票(Ticket) , 售票窗口e 是火车站的线程

 */
import java.util.*;

public class TestYield {

    public static void main(String[] args) {
        Train train = new Train();
        Thread k386 = new Thread(train, "k386");
        Thread ××× = new Thread(train, "×××");

        k386.start();
        try {
            Thread.sleep(5000);
            k386.yield();
            ×××.start();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }
}

class Train implements Runnable {

    public boolean isRun = true;

    @Override
    public void run() {
        try {
            while (isRun) {
                System.out.println(Thread.currentThread().getName() + " 在运行");
                Thread.sleep(1000);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

转载于 : http://www.verejava.com/?id=16992953009875