随笔分类 - JUC
并发多线程
摘要:AQS是什么 AQS= volatile修饰的state变量(同步状态) +FIFO队列(CLH改善版的虚拟双向队列,用于阻塞等待唤醒机制) 队列里维护的Node节点主要包含:等待状态waitStatus,前后指针,等待的线程。 AQS是个抽象队列同步器,是JUC体系中用来构建锁和其他同步器如 Re
阅读全文
摘要:ThreadLocal是什么 ThreadLocal是线程Thread中属性threadLocals即ThreadLocal.ThreadLocalMap的管理者,ThreadLocal用于给每个线程操作自己线程的本地变量,通过线程私有从而保证线程安全性。 ThreadLocal原理 拿get()方
阅读全文
摘要:为什么废弃Thread的stop函数? 简单来说就是stop方法中断线程太过暴力随意,且会是否线程持有的锁,会导致线程安全问题。还有可能导致存在需要被释放的资源得不到释放,引发内存泄露。所以用stop停止线程是不推荐的。 stop是通过立即抛出ThreadDeath异常,来达到停止线程的目的,此异常
阅读全文
摘要:未完待续。 阅读帮助 本文运用《如何阅读一本书》的学习方法进行学习。 P15 表示对于书的第15页。 Java并发编程实战简称为并发书或者该书之类的。 熟能生巧,不断地去理解,就像欣赏一部喜欢的电影,时不时就再看一遍,甚至把剧本下下来通读。 思想 1、虽然现在都是分布式系统,日新月异,但是代码层面的
阅读全文
摘要:总的来说还可以,学到一些新知识,但很多是学过的了,深入的部分不多。 线程与进程 进程:一个程序,程序的集合,比如一个音乐播发器,QQ程序等。一个进程往往包含多个线程,且至少包含一个线程。 线程:进程中的实际运作单位。 Java默认有几个线程? 2个,main和GC Java创建线程的方式? 3种,继
阅读全文
摘要:Java高并发系列——检视阅读 并发概念词 同步(Synchronous)和异步(Asynchronous) 同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的
阅读全文
摘要:维护一个属于自己的知识框架图;隔三差五去看看你所记的东西。 J.U.C包的作者:Doug Lea JUC底层实现 Concurrent包下所有类底层都是依靠CAS操作来实现,而sun.misc.Unsafe为我们提供了一系列的CAS操作。 CAS,即Compare And Swap。 顾名思义就是比
阅读全文