随笔分类 -  线程方面讲解

这里有线程基础,还有多线程知识。
摘要:首先我们需要知道的是:锁可以分为公平锁和不公平锁,重入锁和非重入锁; 一、Lock接口 Lock是java 1.5中引入的线程同步工具,它主要用于多线程下共享资源的控制。本质上Lock仅仅是一个接口(位于源码包中的java\util\concurrent\locks中), Lock有三个实现类,一个 阅读全文
posted @ 2019-06-19 23:03 宥宥美美 阅读(290) 评论(0) 推荐(0)
摘要:一、wait(),notify(),notifyAll()的理解与使用 这三个方法由于需要控制对对象的控制权(monitor),所以属于Object而不是属于线程。 wait(),会把持有该对象线程的对象控制权交出去,然后处于等待状态。 notify(),会通知某个正在等待这个对象的控制权的线程可以 阅读全文
posted @ 2019-05-31 23:54 宥宥美美 阅读(200) 评论(0) 推荐(0)
摘要:一、volatile关键字 适合于只有一个线程写,多个线程读的场景,因为它只能确保可见性。 这样的场景我们可以再ConcurrentHahsMap里面体现的最好了,比如说内部类的 Node 类。可以参考一下; 二、ThreadLocal 线程变量。可以理解为是个map,类型 Map<Thread,I 阅读全文
posted @ 2019-05-28 09:13 宥宥美美 阅读(727) 评论(0) 推荐(0)
摘要:一、线程基础: 1.CPU核心数和线程数的关系 线程数:是同一时刻设备能并行执行的程序个数,线程数=cpu个数 * 核数,及程数=cpu个数(2) * 核数(2)=4; 使用了超线程技术后 > 1:2 2.cpu线程数和Java多线程 (1) 线程是CPU级别的,单个线程同时只能在单个cpu线程中执 阅读全文
posted @ 2019-04-29 23:24 宥宥美美 阅读(386) 评论(0) 推荐(0)