JAVA基础
文章平均质量分 90
丶洗牙刷脸
不断成长的程序员
展开
-
Java锁
锁类型锁按照不同的标准可以定义出不同类型。可重入锁/不可重入锁公平锁/非公平锁独占锁/共享锁乐观锁/悲观锁偏向锁/轻量级锁/重量级锁可重入锁/不可重入锁按照锁是否可以嵌套获取,我们可以将锁分为可重入锁和不可重入锁。Java中的synchronized和ReentrantLock都是可重入锁,现在基本上很少见不可重入锁,不可重入锁在嵌套获取锁的时候会阻塞出现死锁。如下代码就是一个不可重入锁,永远不会...原创 2018-05-12 14:21:04 · 193 阅读 · 0 评论 -
Java线程池
线程池概述通俗的讲,线程池就是一个池子,里面全是线程。目的是对线程进行统一管理,对线程进行复用,对线程数量进行控制,避免过多的线程导致系统缓慢。和线程池紧密关联的是阻塞队列,当线程池中线程全部属于活跃状态时,新进来的请求就需要放在阻塞队列中进行排队等待空闲的线程。Java中线程池的顶级接口Executor:public interface Executor { /** * Ex...原创 2018-05-13 18:22:52 · 368 阅读 · 4 评论 -
JUC中的同步工具类
0.主题 在JDK1.5之前,我们只能通过Object的wait/notify/notifyAll来进行线程之间的协作,阻塞当前线程和唤醒阻塞在该Object方法上的线程。不过在JDK 1.5之后,JUC包中推出了很多工具类,来方便我们完成线程之间的协作,方便更加高效的低错误率的实现一些功能。这里介绍三个JUC中的工具类,CountDownLatch/Semaphore/Barri...原创 2018-08-05 15:32:21 · 606 阅读 · 0 评论