这个工具类里提供了大量方法对元素进行排序,查询和修改。 可以将集合设置为不可变,对集合对象实现同步控制。 同步控制 将制定集合包装成线程同步的集合。解决多线程并发访问集合时的线程安全问题。用synchronizedXxxx方法。 设置不可变集合。 emptyXxx返回一个空的,不可变的集合 sing ...
分类:
其他好文 时间:
2020-02-29 18:52:20
阅读次数:
70
当多条语句(线程)在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行,导致共享数据的错误。这样就是线程的安全问题。 解决线程安全的方式有两种: 1.synchronized同步机制 2.Lock锁 一、synchronized同步机制 1.同步代码块 ...
分类:
编程语言 时间:
2020-02-29 17:29:51
阅读次数:
83
1,饿汉式 类加载和初始化时即创建了实例,不存在线程安全问题。 1 package single; 2 3 /** 4 * 饿汉式,类一加载直接创建好实例对象 5 * 6 * (1) 构造器私有化 7 * (2) 自行创建,并且用静态变量保存 8 * (3) 向外提供这个实例 9 * (4) 强调这 ...
分类:
其他好文 时间:
2020-02-24 15:12:07
阅读次数:
54
相同点:二者都可以解决线程安全问题。 不同点:synchronized机制在执行完相应的同步代码以后,自动的释放同步监视器。lock需要手动的启动同步lock(),同时结束同步也需要手动的实现unlock() ...
分类:
其他好文 时间:
2020-02-19 21:18:37
阅读次数:
74
懒汉模式与饿汉模式 懒汉模式就是懒加载,用到的时候去加载,存在线程安全问题,需要手动地加锁控制。它的优点是类加载的速度比较快,按需加载,节省资源。 饿汉模式就是在类加载的时候会创建出实例。它天生就不存在线程安全问题。但是类加载的速度会变慢且耗费资源。 懒汉模式-单重检查 示例代码如下: public ...
分类:
编程语言 时间:
2020-02-19 15:23:44
阅读次数:
77
解决并发情况下的容器线程安全问题的。给多线程环境准备一个线程安全的容器对象。 线程安全的容器对象: Vector, Hashtable。线程安全容器对象,都是使用 synchronized 方法实现的。 concurrent 包中的同步容器,大多数是使用系统底层技术实现的线程安全。类似 native ...
分类:
编程语言 时间:
2020-02-18 16:38:54
阅读次数:
80
[toc] 1.redis的应用场景 商品秒杀 点赞等 现在有一个减少商品的场景,我们很容易能写出其代码 但是有一个问题,该程序单机下线程不安全。不过可以解决:加锁 加锁解决了单机的线程安全的问题,但是在集群的情况下线程依旧不安全,因为集群的情况下有多个服务器同时运行那么依然会产生线程安全问题; 因 ...
分类:
编程语言 时间:
2020-02-08 00:10:07
阅读次数:
100
线程安全之 synchronized 和 ReentrantLock + 面试题 前面我们介绍了很多关于多线程的内容,在多线程中有一个很重要的课题需要我们攻克,那就是线程安全问题。线程安全问题指的是在多线程中,各线程之间因为同时操作所产生的数据污染或其他非预期的程序运行结果。 线程安全 1)非线程安 ...
分类:
编程语言 时间:
2020-02-07 14:31:13
阅读次数:
57