中英文结合着看,读过两遍,每次都有所收获。
之前对 wait 、notify 、ReentrantLock 、volatile 等都一知半解,结合着源码来看,如看到 ReentrantLock,CountDownLatch, Atomic, CAS, FutureTask, AQS 等时多看看源码。
没有几个人能写好多线程程序,写出来了也不一定对,像 java concurrent 包里面的类没有几个人能写出来。但那是多线程专家的干的事,基本的概念和简单的应用我们还是要会的。多使用现成的并发类,线程池等上层抽象。底层原理很重要,但上层抽象和应用同样重要,多拥抱协程等高层抽象,他们都是为了降低多线程编程的复杂度才出现的。
网友评论