常识,之前有的没搞清楚,导致写代码时不少疑惑。
比较典型的同步例子,用了两个Condition,notEmpty和notFull,分别对应两个lock,takeLock和putLock。查看take的代码:
E x;
int c = -1;
final AtomicInteger count = this.count;
final AtomicInteger takeLock = thi...
分类:
数据库 时间:
2014-09-21 01:53:59
阅读次数:
533
在Java并发包中有这样一个包,java.util.concurrent.atomic,该包是对Java部分数据类型的原子封装,在原有数据类型的基础上,提供了原子性的操作方法,保证了线程安全。下面以AtomicInteger来分析一下其实现过程。/**
* Atomically increments by one the current value.
*
* @return the upda...
分类:
编程语言 时间:
2014-08-18 22:04:52
阅读次数:
309
package?thread;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.concurrent.atomic.AtomicInteger;
/**
?*?@author??changxiangxiang
?*?@date?2014年8月6日?下午3:25:12
?...
分类:
编程语言 时间:
2014-08-06 19:35:52
阅读次数:
260
JRE的rt.jar中提供了一个类sun.misc.Unsafe,虽然这个类因为其不其安全性,不建议使用,而且被加了诸多限制;但
是在很多场合下我们确实需要这个类提供的强大功能。JDK类库下的NIO和concurrent包下的很多类都使用到了Unsafe
类,如AtomicInteger和AbstractQueuedSynchronizer等。
JDK源码中对这个类进行了严格限制,我们...
分类:
系统相关 时间:
2014-07-29 22:00:12
阅读次数:
413
AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。 来看Ato...
分类:
编程语言 时间:
2014-07-22 08:10:35
阅读次数:
196
AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。来看AtomicInteger提供的接口。//获取当前的...
分类:
其他好文 时间:
2014-06-26 18:18:11
阅读次数:
272
从这一篇开始我们将看看Java 5之后给我们添加的新的对线程操作的API,首先看看api文档:java.util.concurrent包含许多线程安全、测试良好、高性能的并发构建块,我们先看看atomic包下的AtomicInteger.import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerTest...
分类:
移动开发 时间:
2014-06-07 11:37:37
阅读次数:
272
题目要求:子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次synchronized的使用import
java.util.concurrent.atomic.AtomicInteger;public class Traditional...
分类:
编程语言 时间:
2014-05-16 04:54:15
阅读次数:
312