本片博客只解析了源码的关键部分,其余可自行查看。注意此容器是线程不安全的,且注意Fail-fast机制
public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable
{
private static final long s...
分类:
其他好文 时间:
2015-08-16 02:10:08
阅读次数:
221
概述:
ConcurrentHashMap是HashMap的升级版,我们都知道HashMap是不可靠的,线程不安全的,而Hashtable在同步的时候又会将整张表都锁住,从而在多并发的情况下效率低下。于是ConcurrentHashMap出现了,综合了两者的优点,所以一直是高并发情况下开发者的首选,但是相对的,它也有自身的一些不足,我们来分析一下它的原理。
ConcurrentHash...
分类:
其他好文 时间:
2015-08-14 22:48:47
阅读次数:
173
这是一个线程不安全的问题。跨线程操作问题。比如我们需要在线程中改变textbox的文本,textbox的name是txtShowMsg第一种方法(不推荐使用)在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false;这种方法,只是不去检查跨线程的...
分类:
编程语言 时间:
2015-08-13 12:00:02
阅读次数:
151
一、多线程不安全方式实现 public sealed class SingleInstance { private static SingleInstance instance; private SingleInstance() { } publi...
2.StringBuilder,StringBuffer
字符串拼接时用这两个类,效率高,节约内存,如果用字符串 "+"号拼接
性能差,并且浪费空间,产生很多垃圾
StringBuffer线程安全;StringBuilder线程不安全。
StringBuilder 在多线程场景下性能比StringBuffer
要高...
分类:
编程语言 时间:
2015-08-06 20:29:43
阅读次数:
103
Collection
|--List 有序,可重复
|--ArrayList
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高
|--Vector
底层数据结构是数组,查询快,增删慢。
线程安全,效率低
|--LinkedList
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
|--Set 无序,唯一
|--HashSet
底层数据结构是哈希表。
如何保证元素唯一性的呢?
依赖两个方...
分类:
其他好文 时间:
2015-08-05 18:28:38
阅读次数:
160
Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。解决的方案应该是创建一个Message对象,然后借助Handler发送出去,之后在Handler的handleMessage()方法中获得刚才发送的Message对象,然后在这里进行UI操作就不会再出现崩溃了。
这种处理方式被称为异步消息处理线程。简单的说就是在子线程中实现更新UI操作。Handler基本使用关...
分类:
移动开发 时间:
2015-08-04 19:22:10
阅读次数:
137
单例模式的写法 1. 懒汉模式(线程不安全) 懒汉模式:顾名思义就是需要使用的时候才实例化; 线程不安全:设想两个线程同时都运行到判断instance是否等于null的if语句,并且instance的确没有被创建,那么这两个线程都会创建一个实例(执行:instance = new Singleton...
分类:
编程语言 时间:
2015-07-26 12:29:06
阅读次数:
112
线程不安全的HashMap因为多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap,如以下代码final HashMap map = new HashMap(2);Thread t = new Thread(new Runn...
分类:
其他好文 时间:
2015-07-25 19:44:08
阅读次数:
94
老版本线程不安全
最近几天,在倒腾多线程的翻译解码器。单线程没问题的解码器,放在多线程下就经常无故的 segmentation fault (core dumped)。排查了一天原因,才发现是语言模型的问题。
老版本的SRILM不支持多线程,多个进程环境下报错。错误具体表现如下:
将语言模型作为公共资源,多个线程去读取,会报segmentation fault (core dumpe...
分类:
编程语言 时间:
2015-07-20 11:03:26
阅读次数:
520