Java 多线程 之 yield 线程实例
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 T1=new Thread(train,"T1");
k386.start();
try
{
Thread.sleep(5000);
k386.yield();
T1.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();
}
}
}