java线程-同步-利用同步块同步
2017-03-03 00:00
323 查看
//同步块进行处理 package cn.mldn.demo; class MyThread implements Runnable{ private int tickets = 5; @Override public void run() { for (int i = 0; i < 20; i++) { synchronized (this) { //同步块进行处理,同步块主要参数为当前变量 if (this.tickets > 0) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + "sell,tickets = " + this.tickets-- ); } } } } } public class TestDemo{ public static void main(String[] args ) throws Exception{ MyThread mt = new MyThread(); new Thread(mt , "sellsA").start(); new Thread(mt , "sellsB").start(); new Thread(mt , "sellsC").start(); new Thread(mt , "sellsD").start(); } } //cmd输出: //sellsAsell,tickets = 5 //sellsAsell,tickets = 4 //sellsDsell,tickets = 3 //sellsCsell,tickets = 2 //sellsBsell,tickets = 1
相关文章推荐
- 详解Java利用ExecutorService实现同步执行大量线程
- java-线程-利用同步方法同步
- 浅谈利用同步机制解决Java中的线程安全问题
- Java线程:线程的同步与锁
- Java 线程第三版 第五章 极简同步技巧 读书笔记
- java并发包中的Condition和Lock 取代Synchronized、wait、notify/notifyAll实现线程的同步与互斥
- Java线程同步:synchronized锁住的是代码还是对象
- Java中线程的同步与锁定
- Java线程的同步和通讯
- Java线程:基本概念、可见性与同步
- java 中有几种方法可以实现一个线程? 用什么关键字修 饰同步方法? stop()和 suspend()方法为何不推荐使用?
- Java线程同步与单例模式的结合学习
- Java线程:线程的同步与锁
- Java线程:线程的同步-同步方法
- Java】线程并发、互斥与同步
- Java基础第十二天学习日记_线程、线程的同步、线程间通讯
- 【Java并发学习】之线程的同步
- 多线程系列二——java线程间的互斥与同步
- Java基础-多线程-③线程同步之synchronized
- java中的线程机制和线程的同步与互斥.