线程安全

2018-12-24  本文已影响0人  阔阔飞翔

常见的线程安全操作

 ①加锁同步 synchronized  Lock等

 ②wait() notify()线程调度 已实现执行的同步

 ③ThreadLocal局部变量  每一个线程都有一份数据

 ④Semaphore 信号量

 ⑤volatile 保证一个变量在线程中可见 

 等 等

接下来讨论集合的多线程安全

原始集合框架包含三个接口:List、Map 和 Set。这三种集合是我们平常使用最多的集合,当集合遇到多线程时,我们必须要考虑多线程的问题,

比如说一个线程1不断读取集合线程2不断往集合放入数据,这时就会出现问题

我们都知道vector,hashtable是在Java1.0就引入的集合,两个都是线程安全的,但是现在已很少使用,原因就是内部实现的线程安全太消耗资源

java.util.concurrent 是什么?

java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块,开发人员可以提高并发类的线程安全、可伸缩性、性能、可读性和可靠性,

上一篇 下一篇

猜你喜欢

热点阅读