Java 多线程 之 yield 线程实例

本文通过一个简单的Java程序模拟了火车站售票场景,包括两个售票窗口并发卖票的过程,并使用yield方法来控制线程间的调度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值