一、可见性什么是可见性?Java线程安全须要防止某个线程正在使用对象状态而还有一个线程在同一时候改动该状态,并且须要确保当一个线程改动了对象的状态后,其它线程能够看到发生的状态变化。 后者就是可见性的描写叙述即多线程能够实时获取其它线程改动后的状态。 *** 待补充 两个工人同一时候记录生产产品.....
分类:
编程语言 时间:
2014-07-16 23:07:41
阅读次数:
218
ReentrantLock 一个可重入的互斥锁 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大。这个类主要基于AQS(AbstractOwnableSynchronizer)封装的 公平与非公平锁。所谓公平锁就是指在多个线程的争...
分类:
编程语言 时间:
2014-07-09 14:31:42
阅读次数:
306
Guava 中文是石榴的意思,该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库。
1. 基本工具 [Basic utilities]
让使用Java语言变得更舒适
1.1 使用和避免null:null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服。很多Guava工具类用快速失败拒绝null值,而不是盲目地接受
1....
分类:
编程语言 时间:
2014-06-27 07:27:53
阅读次数:
203
造成开销的操作包含:1. 线程之间的协调(比如:锁、触发信号以及内存同步等)2. 添加?的上下文切换3. 线程的创建和销毁4. 线程的调度一、对性能的思考1 性能与可伸缩性执行速度涉及下面两个指标:某个指定的任务单元须要“多快”才干处理完毕、计算资源一定的情况下,能完毕“多少”工作。可伸缩性:当添加...
分类:
编程语言 时间:
2014-06-26 21:19:51
阅读次数:
330
使用并发包线程池和XML实现定时任务动态配置和管理,xml配置任务,动态执行类方法,可以灵活配置任务,很实用的东东,希望对大家有所帮助。...
分类:
编程语言 时间:
2014-06-22 17:21:30
阅读次数:
377
转发:大海巨浪Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable。另外还有JDK1.2中加入的同步包装类,这些类都是由Collections.synchronizedXXX工厂方法。同步容器都是线程安全的,但是对于复合操作,缺有些缺点:① ...
分类:
编程语言 时间:
2014-06-22 12:54:50
阅读次数:
319
锁锁是用来锁东西的,让别人打不开也看不到!在线程中,用这个“锁”隐喻来说明一个线程在“操作”一个目标(如一个变量)的时候,如果变量是被锁住的,那么其他线程就对这个目标既“操作”不了(挂起)也无法看到目标的内容!对Java并发包,锁的实现基本在java.util.concurrent.locks包中,...
分类:
编程语言 时间:
2014-06-21 09:38:16
阅读次数:
239