排队买票
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排队买票相关的知识,希望对你有一定的参考价值。
要求:假定总票数是100张
假设 有5个人排队卖票,同一时间只能有一个人买票
票卖出去之后,票数要减少
代码:
/** * */ package com.niit.homework; /** * @author: Annie * @date:2016年6月16日 * @description:假定总票数是100张 假设 有5个人排队卖票,同一时间只能有一个人买票 票卖出去之后,票数要减少 */ public class TicketDemo implements Runnable { int tickt = 100; static String [] name = {"张三","李四","王二","麻子","赵四"}; @Override public void run() { boolean flag = true ; while(flag){ synchronized (this) { for (int j = 0; j <5; j++) { if(Thread.currentThread().getName().equals(name[j])){ --tickt; System.out.println(name[j]+"正在买票,其他人请耐心排队,还有"+tickt+"张票"); } if(tickt <=0){ flag =false; System.out.println("票卖完了,明天再来"); break; } try { Thread.sleep(200); } catch (InterruptedException e) {} } } } } public static void main(String[] args) { TicketDemo ticket = new TicketDemo(); Thread [] threads = new Thread[5]; for (int i = 0; i < threads.length; i++) { threads[i] = new Thread(ticket,name[i]); threads[i].start(); } } }
效果图(其中一部分):
以上是关于排队买票的主要内容,如果未能解决你的问题,请参考以下文章