多线程
活在梦里丶
学渣的逆袭之路~
展开
-
java并发容器简述
Hashtable 往里面添加任何对象的时候,都要锁定整个对象 ConcurrentHashMap 默认把整个容器分成16段每一次往里面插入的时候,只锁定16段中的一段。 ConcurrentHashMap就是把锁给细化了,当很多线程往里面插入数据的时候,就可以并发的插入,只锁定当前这一块,而不需要锁定整个对象。它把大锁变成了小锁。原创 2017-06-07 16:25:30 · 338 阅读 · 0 评论 -
java多线程——synchronize关键字详解
synchronize的基本使用 在并发编程中synchronized一直承担的非常重要的作用,它有以下三种使用方式 作用于普通方法,锁的是当前实例对象 作用于静态方法,锁的是当前类的Class对象 作用于同步方法块,锁的是synchronized括号里面的对象 当一个线程访问一个同步代码块的时候,首先获得锁,只有当退出或抛出异常的时候,才会释放锁。 那么它究竟是如何实现的呢?我们通过反编译如...原创 2018-12-24 23:28:45 · 733 阅读 · 0 评论 -
ThreadLocal原理解读
前言 多线程环境中经常会发生因为资源竞争而出现的线程安全问题,通常情况下我们使用加锁的方式解决这类问题。但是除了控制资源的访问外,我们还可以增加资源来保证所有对象的线程安全。例如 线程安全案例 时间类在我们日常开发中是经常会用到的,虽然JDK为我们封装了很强大的SimpleDateFormat类,但是如果稍不留心的话就有可能导致很大的问题,我们先来看一个简单的例子: public class 没有...原创 2019-07-22 21:22:09 · 294 阅读 · 0 评论