AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。java.util.concurrent.atomic.AtomicInteger类,属于java的concurrent包..
分类:
编程语言 时间:
2016-06-08 10:52:51
阅读次数:
919
在java5以后,我们接触到了线程原子性操作,也就是在修改时我们只需要保证它的那个瞬间是安全的即可,经过相应的包装后可以再处理对象的并发修改,本文总结一下Atomic系列的类的使用方法,其中包含:
类型
Integer
Long
基本类型
AtomicInteger
AtomicLong
AtomicBoolean
数组类型
AtomicIntegerArra...
分类:
编程语言 时间:
2016-06-02 13:48:50
阅读次数:
225
一、遇见AtomicInteger 在看项目代码的时候看到这个类,发现其功能很简单,就是一个整型变量的类型,出于好奇看了其类定义。 该类位于java.util.concurrent.atomic下,在concurrent下可知该类肯定与并发和原子性相关。 二、进一步了解 源码非常简单,结合其他人的博 ...
分类:
编程语言 时间:
2016-05-27 20:14:15
阅读次数:
496
1.线程池原理 :伪代码
在线程池中假设最多开3个线程,当小于三个,进行创建,添加到集合中,然后不停的轮训线程集合进行执行,直到为空时,进入等待状态
public class ThreadPool {
int maxCount = 3;//假设最多开只能开三个线程
AtomicInteger count =new AtomicInteger(0);// 当前开的线程数 count...
分类:
编程语言 时间:
2016-05-12 22:11:33
阅读次数:
142
问题背景 最近在看LinkedBlockingQueue看到了其中的count使用AtomicInteger修饰,之前也看过AtomicInteger的一些解释,也是似懂非懂的,今天深入的了解了其实现方式,学到了很多东西。 基础介绍 要对AtomicInteger有一个深入的认识,就必须要了解一下悲 ...
分类:
其他好文 时间:
2016-04-18 22:41:05
阅读次数:
280
AtomicInteger源码 在java.util.concurrent.atomic包下提供了大量的原子类,这里以AtomicInteger源码为例,添加了一些注释,个人理解,供参考; 其中比较重要的一个概念是CAS操作,现代CPU已广泛支持,在JDK的AtomicInteger类中是调用了Un ...
分类:
编程语言 时间:
2016-04-05 23:00:05
阅读次数:
243
思路: 1:参考分页方式将数据拆成指定大小线程数 2:在每个独立的线程中去读取数据并处理数据 步骤一实现 public class IndexIntiTools { public static AtomicInteger runflag=new AtomicInteger(); //用于测试 pub
分类:
其他好文 时间:
2016-03-03 16:17:07
阅读次数:
153
This is an example of how to use the AtomicInteger class of Java. Thejava.util.concurrent.atomic package provides very useful classes that support loc
分类:
其他好文 时间:
2016-02-12 10:33:25
阅读次数:
230
欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblogs.com/nullzx/ 1. ThreadPoolExecutor数据成员Private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING,0))...
分类:
编程语言 时间:
2016-02-06 18:21:29
阅读次数:
247
在分析atomic包的时候看到很多类的静态代码块中使用了一下这个方法(例如AtomicInteger) static { try { valueOffset = unsafe.objectFieldOffset (AtomicInteger.clas...
分类:
编程语言 时间:
2016-01-22 13:44:15
阅读次数:
1878