【问题】 测试结果 i: 2 j: 0 ThreadID: 10 ThreadName: Thread-2 31-Dec-200731-Dec-2007 i: 2 j: 1 ThreadID: 10 ThreadName: Thread-2 31-Dec-200731-Dec-2007 i: 2 j ...
分类:
编程语言 时间:
2016-03-30 22:33:06
阅读次数:
312
在最近的工作中,无意中使用一个SimpleDateFormat把日期时间字符串转换为Date对象,发现存在时间很异常的情况,比如出现时间年份明显不对的情况。 后来在网上查看发现,原来是SimpleDateFormat不是线程安全导致的。后来改写了DateUtil,利用ThreadLocal达到线程安 ...
分类:
编程语言 时间:
2016-03-30 19:28:01
阅读次数:
158
python的锁可以独立提取出来 概念 好几个人问我给资源加锁是怎么回事,其实并不是给资源加锁, 而是用锁去锁定资源,你可以定义多个锁, 像下面的代码, 当你需要独占某一资源时,任何一个锁都可以锁这个资源 就好比你用不同的锁都可以把相同的一个门锁住是一个道理 线程不安全: 最普通的一个多线程小例子。 ...
分类:
编程语言 时间:
2016-03-29 22:24:45
阅读次数:
161
Android的UI是线程不安全的,想在子线程中更新UI就必须使用Android的异步操作机制,直接在主线程中更新UI会导致程序崩溃。
Android的异步操作主要有两种,AsyncTask和Handler。AsyncTask是一个轻量的异步类,简单、...
分类:
移动开发 时间:
2016-03-24 06:33:13
阅读次数:
267
关于线程安全问题,有一个经典案例:银行取钱问题。 假设有一个账户,有两个线程从账户里取钱,如果余额大于取钱金额,则取钱成功,反之则失败。 下面来看下线程不安全的程序会出什么问题。 这个结果显然是不对的,当余额小于取钱金额时,程序应该取钱失败,而不是把余额变成负数。之所以会出现这种情况,是因为当线程T
分类:
编程语言 时间:
2016-03-23 12:52:43
阅读次数:
236
Collection(单列集合) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程安全,效率低 LinkedList 底层数据结构是链表,查询慢,增删快 线程不安全,效率高 HashSet 底层数据结构是哈希表。 哈希
分类:
编程语言 时间:
2016-03-21 01:43:09
阅读次数:
260
概念: 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性
分类:
编程语言 时间:
2016-03-20 07:05:14
阅读次数:
239
以下内容基于jdk1.7.0_79源码; List接口的链表实现,并提供了一些队列,栈,双端队列操作的方法; 与ArrayList对比,LinkedList插入和删除操作更加高效,随机访问速度慢; 可以作为栈、队列、双端队列数据结构使用; 非同步,线程不安全; 与ArrayList、Vector一样
分类:
编程语言 时间:
2016-03-12 21:24:44
阅读次数:
336
单例模式写法有很多 主要考虑到 以下三方面 1.线程安全 2.不会因为序列化而产生新实例 3.防止反射攻击 之前一直在用饿汉模式,个人推荐枚举,饿汉次之。 单例模式 1、懒汉模式 线程不安全 public class SingleTon { private static SingleTon inst
分类:
其他好文 时间:
2016-03-11 12:00:13
阅读次数:
125
一、 1.The Singleton Pattern ensures a class has only one instance, and provides a global point of access to it. 2. 3. 二、例子一:线程不安全 1 package headfirst.d
分类:
其他好文 时间:
2016-03-09 20:54:14
阅读次数:
190