Java并发
九天之凤
岁月无声
展开
-
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造转载 2014-11-28 19:20:10 · 360 阅读 · 0 评论 -
java.util.concurrent介绍
java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块,开发人员可以提高并发类的线程安全、可伸缩性、性能、可读性和可靠性。如果一些类名看起来相似,可能是因为 java.util.concu转载 2014-11-25 16:27:51 · 316 阅读 · 0 评论 -
Maximum number of format records exceeded. Using default format
Warning: Maximum number of format records exceeded. Using default format.Warning: Maximum number of format records exceeded. Using default format.Warning: Maximum number of format records excee转载 2015-04-18 16:43:19 · 1972 阅读 · 0 评论 -
Callable和Future
本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返回值,下面来看一个简转载 2015-05-11 15:46:54 · 366 阅读 · 0 评论 -
线程池
自JDK5之后,Java推出了一个并发包,java.util.concurrent,在Java开发中,我们接触到了好多池的技术,String类的对象池、Integer的共享池、连接数据库的连接池、Struts1.3的对象池等等,池的最终目的都是节约资源,以更小的开销做更多的事情,从而提高性能。 我们的web项目都是部署在服务器上,浏览器端的每一个request就是一个线程,那转载 2015-05-11 16:28:11 · 310 阅读 · 0 评论 -
java中long和double类型操作的非原子性探究
Java中的原子操作包括:1)除long和double之外的基本类型的赋值操作2)所有引用reference的赋值操作3)java.concurrent.Atomic.* 包中所有类的一切操作。但是java对long和double的赋值操作是非原子操作!!long和double占用的字节数都是8,也就是64bits。在32位操作系统上对64位的数据的读写转载 2015-06-01 18:43:16 · 5716 阅读 · 3 评论 -
volatile 和 atomic 原子性的区别和联系
作者:wenyinfeng转载时,请注明原文出处: http://blog.sina.com.cn/s/blog_c00b6f6201016mbk.html谢谢!An incorrect piece of lore that is often repeated in Java threading discussions is, "Atomic operations转载 2015-06-01 18:45:46 · 6007 阅读 · 0 评论 -
AtomicInteger在实际项目中的应用
今天写代码,尝试使用了AtomicInteger这个类,感觉使用起来很爽,特别适用于高并发访问,下面贴一个简单的例子:Java代码 CashierContext类部分代码: private Map counter = new HashMap(); private void initCounter() {转载 2015-07-10 09:33:57 · 782 阅读 · 0 评论 -
使用Java的BlockingQueue实现生产者-消费者
转自:http://tonl.iteye.com/blog/1936391BlockingQueue也是java.util.concurrent下的主要用来控制线程同步的工具。BlockingQueue有四个具体的实现类,根据不同需求,选择不同的实现类1、ArrayBlockingQueue:一个由数组支持的有界阻塞队列,规定大小的BlockingQueue,其构造函数必须转载 2017-03-17 09:52:48 · 271 阅读 · 0 评论