并发
-
【每日阅读】2021年3月11日-AtomicInteger底层实现原理是什么?
Atomic是一个int类型的封装类,提供原子性的访问和更新操作,其原子性操作的实现是基于CAS技术。 CAS即Compare And Swap,利用CPU的CAS指令对数据进行修…
-
【每日阅读】2021年3月9日-Java并发包都有什么
我们通常所说的并发包也就是 java.util.concurrent 及其子包,集中了 Java 并发的各种基础工具类,具体主要包括几个方面: 提供了比 synchronized …
-
【每日阅读】2021年3月8日-Java程序什么情况下会产生死锁,如何判断是否有死锁
什么情况会发生死锁 互斥条件,要么你持有,要么我持有 互斥条件被长期持有,不会主动释放 循环依赖 如何发现死锁 使用jstack打印出线程堆栈,查看是否有循环依赖某个互斥条件。一些…
-
【每日阅读】2021年3月5日-经典同步代码块
不推荐使用if模式是因为在多核CPU的系统中,线程等待存在一种可能,就是在没有任何线程广播或者发出信号的情况下,线程就被唤醒,如果处理不当就可能出现诡异的并发问题。所以推荐使用循环…
-
【每日阅读】2021年02月01日-synchronized是如何实现的
Java在进入synchronized代码段时,如果看字节码,会发现虚拟机执行了monitorenter指令,退出synchronized代码段时会执行monitorexit指令。…
-
【每日阅读】2021年1月8日-并发设计模式Thread-Per-Message、Worker Thread
Thread-Per-Message 就是每个任务创建一个线程,这种模式在Java内不常用,因为Java的线程比较重,但是在Go这种语言中就很常用,因为Go使用的是协程,比较轻量,…
-
【每日阅读】2021年01月07日-ThreadLocal的实现
一般理解可能说在ThreadLocal内存储一个Map,Map的key是Thread,value是对象,但其实不是这样。 实际上是这样,在Thread内部有一个ThreadLoca…
-
【每日阅读】2021年1月6日-并发设计模式:Immutability模式、CopyOnWrite模式
Immutability模式 不变模式,以不变应万变。我不变那随便并发,不变意味着只能读不能写。这种模式很简单,却很有用。 CopyOnWrite模式 即写时复制。 这种模式适合那…
-
【每日阅读】2021年1月5日-在看Java并发编程实战
《Java并发编程实战》是极客时间上的一门课程,最近在看,今天看完了并发工具类的使用介绍。 在看的过程中却是发现很多以前不知道的但是Java原生自带的并发类,因为现在的业务需求根本…
-
【每日阅读】2020年12月28日-获取线程执行结果
Future有如下方法: 还有FutureTask: