本月博客排行
年度博客排行
-
第1名
青否云后端云 -
第2名
zw7534313 -
第3名
大家都说我很棒 - liyihz2008
- wy_19921005
- gengyun12
- hbxflihua
- e_e
- luxurioust
- dbagirl
- zysnba
- robotmen
- Alsmile
- gaozzsoft
- jywhltj
- cpongo1
- leslie26
- qepwqnp
- zhangdaiscott
- 解宜然
- cuityang
- sichunli_030
- gashero
- fantaxy025025
- vipbooks
- gdpglc
- wallimn
- ssydxa219
- ranbuijj
- javashop
- jickcai
- hanbaohong
- johnsmith9th
- appalese
- gaojingsong
- weiyides
- 淡看人生
- zhangyi0618
- java-007
- AVI
- laiyangdeli
- xpenxpen
- liunancun
- 龙哥IT
- conkeyn
- nychen2000
- lyndon.lin
- ouanui
- silverend
- jveqi
最新文章列表
java 并发 竞态条件(1)
竞态条件,说得通俗一点,就是线程A 需要判断一个变量的状态,然后根据这个变量的状态来执行某个操作。
在执行这个操作之前,这个变量的状态可能会被其他线程修改。
看一个例子
import java.util.concurrent.atomic.AtomicLong;
public class LazyInitRace {
private ExpensiveObject insta ...
Java三大格式化类的线程安全问题以及ThreadLocal的使用
线程安全问题
java.text中的三大格式化类:
1、NumberFormat
2、MessageFormat
3、DateFormat(SimpleDateFormat)
除了NumberFormat外,其他两个都不是线程安全的。
NumberFormat中使用的属性都是不变的,而SimpleDateFormat等却使用了可变但没有同步的属性,所以在多线程访问的条件下会产生线程 ...
识别线程安全-共享变量与单实例
刚毕业的时候,总是搞不清什么是线程安全,只记得网上说,只要方法做到可重入,就是线程安全的,晕头晕脑,一头雾水。
今年读Java并发编程,对并发有了进一步的了解,结合我们项目的实际应用,谈一下我对线程安全的认识。
一、共享变量(share varibles)引起线程安全
如果没有共享,就不会有线程安全问题。比如,你写的就是一个简单的helloword程序,不会有线程安全问题。但如果你的程序是一 ...
线程安全和可重入性以及线程安全函数
线程安全: 线程安全函数:在C语言中局部变量是在栈中分配的,任何未使用静态数据或其他共享资源的函数都是线程安全的。 使用全局变量的函数是非线程安全的。 使用静态数据或其他共享资源的函数,必须通过加锁的方式来使函数实现线程安全。
线程安全的(Thread-Safe): ...
单例模式(Singleton Pattern)_Java
Singleton Pattern
确保一个类只有一个实例,并提供一个全局访问点
模式一
package com.pattern.singleton;
public class Temp {
//临时类,用来对比单例模式
}
package com.pattern.singleton;
public class Singleton {
//私有化构造函数 ...
java基础数据结构之有条件线程安全
有条件线程安全.
事出于一次偶然的MS中,在问及hashmap和hashtable的时候很习惯的就说非线程安全和线程安全。却被告知有条件线程安全这一说法。
困惑之余查看了hashtable 和hashmap 的源码,
public class HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V> ...
struts2整合spring线程安全问题
Struts2 整合spring 线程安全问题
最近在看关于线程安全的书,对自己做过的项目进行了一番新的审视,尤其是ssh项目 首先线程安全问题是如何产生的,关于这一点,我看过许多网上的资料,甚至是书上都是如此表述:比如有一个类Person 有个属性是name,线程1修改了这个属性 ...
单例模式最佳实践_The solution of Bill Pugh
基于Steve Quirk早先的工作,Bill Pugh实现了了一个适合所有版本的JVM、性能良好且线程安全的单例。此实现是依靠JVM对内部静态类&静态成员初始化的顺序(非并行)机制来实现的。
class Singleton
{
private Singleton()
{
}
private static class LazySingleton
...
[转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2
一个验证HashMap在多线程环境下线程不安全的例子及dump分析
实例:
package com.bijian.study.hashmap;
import java.util.HashMap;
public class TestLock {
private HashMap map = new HashMap();
public TestLock() {
Thread t1 = new Thread() {
publ ...
一道面试题比较synchronized和读写锁
一、科普定义
这篇博文的两个主角“synchronized”和“读写锁”
1)synchronized
这个同步关键字相信大家都用得比较多,在上一篇“多个线程之间共享数据的方式”中也详细列举他的应用,在这就不多说只做几点归纳:
Java提供这个关键字,为防止资源冲突提供的内置支持。当任务执行到被synchronized保护的代码片段的时候,它检查锁是否可用,然后获取锁,执行代码,释放锁。 ...
解决SimpleDateFormat的线程不安全问题的方法
在Java项目中,我们通常会自己写一个DateUtil类,处理日期和字符串的转换,如下所示:
public class DateUtil01 {
private SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public void format(Date ...
Java并发编程之ConcurrentHashMap
ConcurrentHashMap
ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。
ConcurrentHashMa ...
java之11天 多线程 (二)
卖票安全问题
//线程出现安全问题啦 !!! 卖出了 0 -1 -2 号票了
class SaleTicket1 implements Runnable{
private int ticks=100;
private long time=1000; //加上这个后 就让安全问题 跟明显了
public void run(){ //复写接口中的方法 ,不能抛异常 ,只 ...
写一个线程安全的单例模式
谢谢 http://blog.sina.com.cn/s/blog_75247c770100yxpb.html 的作者
深入浅出下
public class SingleA{
private static class SingleHolder{
public final static SingleA instance=new SingleA();
...