多线程数据同步之synchronized同步方法-多线程访问临界资源
2017-04-12 16:21
344 查看
package com.tools; /** * 同步方法处理多线程共用资源的问题 * @author Administrator * */ class TicketSouce implements Runnable { //票的总数 private int ticket=99; public void run() { for(int i=1;i<200;i++)//时间 { try { //休眠1秒中,为了使效果更明显,否则可能出不了效果 Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } this.sale(); } } public synchronized void sale() { if(ticket>0) { System.out.println(Thread.currentThread().getName()+"号窗口卖出"+this.ticket--+"号票"); } } } public class Test { public static void main(String args[]) { TicketSouce mt=new TicketSouce(); //基于火车票创建10个窗口 new Thread(mt,"a").start(); new Thread(mt,"b").start(); new Thread(mt,"c").start(); new Thread(mt,"d").start(); new Thread(mt,"e").start(); new Thread(mt,"f").start(); new Thread(mt,"g").start(); new Thread(mt,"h").start(); new Thread(mt,"i").start(); new Thread(mt,"j").start(); } }
相关文章推荐
- 【JAVA】多线程之synchronized 同步数据 方法
- java 多线程10:synchronized锁机制 之 锁定类静态方法 和锁定类.Class 和 数据String的常量池特性 同步静态方法
- java多线程之-----对象及变量的并发访问1(synchronized同步方法)
- synchronized修饰方法,保证数据同步准确性,限制线程互斥访问
- Java多线程编程之访问共享对象和数据的方法
- Java如何利用synchronized处理多线程的数据同步问题
- 从头认识多线程-2.19 synchronized同步方法的无限等待与解决方法
- OPC的数据访问方法分别有同步访问、异步访问和订阅式
- 九、初学Java多线程:使用Synchronized关键字同步类方法
- 使用synchronized关键字解决共享数据同步问题:多线程门票销售
- 从头认识多线程-2.14 解决由同步的synchronized (newobject()) 引起的脏读的方法
- 多线程访问共享对象和数据方法
- (转)初学Java多线程:使用Synchronized关键字同步类方法
- 初学Java多线程:使用Synchronized关键字同步类方法
- 【转载】Java多线程编程2--同步锁定--synchronized同步方法、脏读、锁重入
- java 多线程10:synchronized锁机制 之 锁定类静态方法 和锁定类.Class 和 数据String的常量池特性
- Java:多线程,线程同步,synchronized关键字的用法(同步代码块、非静态同步方法、静态同步方法)
- 在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题
- 初学Java多线程:使用Synchronized关键字同步类方法
- 【多线程】synchronized同步方法