Java线程学习之一---售票

来源:互联网 发布:数控铣床编程与加工 编辑:程序博客网 时间:2024/05/18 01:48
package com.app.thread;/** * 卖票线程 *  * @author author *  */public class TicketThread implements Runnable {// 票的总数public int ticketSum;public TicketThread(int ticketSum) {this.ticketSum = ticketSum;}public void run() {while (true) { // 无限卖票synchronized (this) { // 使用同步代码块if (ticketSum > 0) {System.out.println(Thread.currentThread().getName()+ "==ticketSum:" + ticketSum--);} else {break;}try {Thread.sleep(1000);} catch (Exception e) {e.printStackTrace();}}}}public static void main(String[] args) {TicketThread a = new TicketThread(100);new Thread(a).start();new Thread(a).start();new Thread(a).start();}}


在线程学习中,售票线程是一个很经典的小例子,虽然简单,但是也是可以让我们学会不少东西。

原创粉丝点击