同步:共享资源被多个线程 调用,同步的方式有多种:(场景:卖火车票) 1 syncnizerd 关键字 2 reentrantLock 排它锁 3 volatile 关键字 修饰变量;异步:改变线程本身的状态 ,异步方法有多种:(场景:生产者消费者模式) 1 wait notify ,Object ...
分类:
编程语言 时间:
2015-05-27 18:47:31
阅读次数:
175
java.util.concurrent.locksInterface Lock所有实现类:ReentrantLock、ReentrantReadWriteLock.ReadLock、ReentrantReadWriteLock.writeLockLock的实现比使用synchronized获得更多...
分类:
其他好文 时间:
2015-05-27 15:16:10
阅读次数:
108
1.直接上代码:
package com.mnmlist.java.grammar;
import java.util.Random;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.ReentrantLock;
class Customer {
int total;
publi...
分类:
编程语言 时间:
2015-05-19 22:40:58
阅读次数:
164
1 package cn.itcast_01; 2 3 import java.util.concurrent.locks.Lock; 4 import java.util.concurrent.locks.ReentrantLock; 5 6 public class SellTicket ...
分类:
移动开发 时间:
2015-05-17 10:41:38
阅读次数:
130
多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个Thread类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 ——synchronized和volatil...
分类:
编程语言 时间:
2015-05-06 10:48:02
阅读次数:
254
一.什么是sychronized sychronized是java中最基本同步互斥的手段,可以修饰代码块,方法,类. 在修饰代码块的时候需要一个reference对象作为锁的对象. 在修饰方法的时候默认是当前对象作为锁的对象. 在修饰类时候默认...
分类:
其他好文 时间:
2015-05-04 22:25:26
阅读次数:
128
有两种机制防止代码块受并发访问的干扰:1、一个是使用synchronized关键字。2、使用ReentrantLock类。(通过显示定义同步锁对象来实现同步。)同步锁(lock)方法是控制多个线程对共享资源进行访问的工具。通常,锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程...
分类:
其他好文 时间:
2015-04-23 13:04:56
阅读次数:
133
有两种机制防止代码块受并发访问的干扰:1、一个是使用synchronized关键字。2、使用ReentrantLock类。(通过显示定义同步锁对象来实现同步。)同步锁(lock)方法是控制多个线程对共享资源进行访问的工具。通常,锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程...
分类:
其他好文 时间:
2015-04-23 12:27:34
阅读次数:
147
Java并发基础框架AbstractQueuedSynchronizer初探 ReentrantLock的实现分析
分类:
编程语言 时间:
2015-04-22 00:10:07
阅读次数:
206
ConcurrentLinkedQueue是一个基于单链表的无界线程安全队列,该队列是FIFO的。ConcurrentLinkedQueue/ConcurrentLinkedDeue和LinkedBlockingQueue/LinkedBlockingDeue
相比,不同点在于它们不提供阻塞功能,并且是Lock-Free的,而后者则是利用ReentrantLock实现的。...
分类:
其他好文 时间:
2015-04-14 19:50:08
阅读次数:
312