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();
		}
		
	}
	
}



http://www.verejava.com/?id=16992953009875

posted @ 2018-06-21 10:18  verejava  阅读(169)  评论(0编辑  收藏  举报