多线程案例:模拟火车站售票

原创 2018年04月15日 11:46:03
/*
 * 同步方法:使用关键字synchronized修饰的方法,一旦被一个线程访问,
 *          则整个方法全部锁住,其他线程则无法访问
 *
 * static void sleep(long millis) :让当前线程睡一会
 *
 * synchronized:同步(锁),可以修饰代码块和方法,被修饰的代码块和方法一旦被某个线程访问,则直接锁住,
 *  			其他的线程将无法访问
 * 
 * 同步代码块:
 * 			synchronized(锁对象){
 * 
 * 			}
 * 
 * 注意:
 * 		非静态同步方法的锁对象是this
 * 		静态的同步方法的锁对象是当前类的字节码对象
 * 
 */
public class TicketThread implements Runnable{
	static int tickets = 100; //火车票数量
	/*Object obj = new Object();*/
	
	@Override
	public void run() {
		//出售火车票
		while(true) {
			
			/*synchronized (obj) {
				
			}*/
			
			//method();
			
			method2();
		}
	}

	private synchronized void method() {
		//当火车小于0张停止售票
		if(tickets > 0) {
			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			
			System.out.println(Thread.currentThread().getName()+":"+tickets--);
		}
	}
	private static synchronized void method2() {
		//当火车小于0张停止售票
		if(tickets > 0) {
			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			
			System.out.println(Thread.currentThread().getName()+":"+tickets--);
		}
	}

}

Java多线程应用之火车站售票

在我们的现实生活中,去火车站买票是一件很平常的事,但是你们想过吗,比如我们从一个售票处买了一张票的话,那么其他的售票点就不能找到这张票了,这样就可以保证每个人买的票不会一样,这是通过java的多线程功...
  • Story__struggle
  • Story__struggle
  • 2016-08-11 12:52:54
  • 1273

《面试宝典》例题之模拟火车站售票程序

面试宝典第五版284页例题6题目:创建两个线程模拟火车站两个窗口售票程序,窗口售票时间为1s,两个窗口不能同时售票之前没写过C的多线程程序,将这道题记录于此以便日后翻看。每当程序被初始化的时候,系统就...
  • sysu_cis
  • sysu_cis
  • 2016-06-20 01:50:30
  • 1094

java火车站售票系统之多线程并发访问

/** * Description: xxxx * Copyright (c) , 2016, Jansonxu * This program is protected by copyr...
  • java_goodstudy
  • java_goodstudy
  • 2016-01-26 19:29:43
  • 2115

使用多线程模拟火车站售票系统

  • 2010年10月09日 10:38
  • 1.17MB
  • 下载

windows多线程系列001 火车站售票系统模拟程序

其实我对多线程这一块一直也不是很熟悉,现在正好在项目中需要用到对多线程的优化问题,因此我对多线程的相关知识点进行了学习和总结,在此和大家一起学习和交流。这个系列主要涉及到进程和线程的概念以及利用互斥对...
  • DaveBobo
  • DaveBobo
  • 2016-04-11 17:29:20
  • 2158

JAVA线程模拟火车站卖票

package com.nisec.myapplication; public class test { static int tickets = 10; public sta...
  • merrylilili
  • merrylilili
  • 2017-05-22 14:17:57
  • 414

卖票——多线程模拟卖票系统

网上抢票,方便又高效,很舒服。应用多线程的同步运行可以模拟很多人抢票,而且不会发生冲突。下面,我们就来利用多线程来模拟一把。#include #include #include int Ticke...
  • hua12134
  • hua12134
  • 2017-12-09 23:56:13
  • 259

模拟火车票售票(多线程)

已知:有200张票,4个窗口 思路:每个窗口用一个线程来模拟,共享200张票 方法一:共享一个对象,则拿到的变量即被共享。public class TicketRunnable implement...
  • xanlv
  • xanlv
  • 2016-08-05 15:17:19
  • 519

模拟火车站售票系统

  • 2013年11月03日 16:55
  • 11KB
  • 下载

java模拟火车站售票系统源代码

  • 2009年11月10日 08:08
  • 3KB
  • 下载
收藏助手
不良信息举报
您举报文章:多线程案例:模拟火车站售票
举报原因:
原因补充:

(最多只允许输入30个字)