随笔分类 - 并发编程
并发编程、多线程
摘要:一、AQS相关面试 1、synchronized 与Rentrantlock 的区别是什么? Synchronized,java关键字,可以自动去操作加锁和释放锁,不需要手动编码实现。它的底层行为是由jvm实现的。 Rentrantlock需要调用加锁和解锁的方法,它的底层是AQS实现的。 区别 S
阅读全文
摘要:线程池 一、线程池介绍 目的:为了避免系统频繁地创建和销毁,我们可以让创建的线程复用。 意义:在线程池中,总有那么几个活跃线程,当你需要使用线程时,可以从池子里随便拿一个空闲线程,当完成工作时,并不着急关闭线程,而是将这个线程退回到线程池中,方便他人使用。这样减少了频繁地创建和销毁线程,提高性能。
阅读全文
摘要:AQS并发框架介绍 一、jdk高级并发组件介绍 1、CyclicBarrier 协调多线程阻塞在某个屏障点,并在指定数量线程全达到屏障点后同时解除阻塞。(面包车的例子) 可以循环使用 使用lock.condition实现 如何使用: Await 当我们拿到1个CyclicBarrier实例时,如果调
阅读全文
摘要:JUC 1、JUC概述 JUC就是java.util.concurrent工具包的简称。这是一个处理线程并发的工具包。 主要包括5大块:① executor ② collections ③ atomic ④locks ⑤ tools 2、AQS ReentrantLock,state初始化为0,表示
阅读全文
摘要:并发编程基础 一、 并发编程基础 1、synchronized 原理分析 Synchronized关键字解决的是多线程之间访问同一资源的同步性问题,synchronized关键字,可以保证被它修饰的方法或者代码块在任意时刻,只能在一个线程运行。 2、jdk1.6之前性能比较低,之后引入了大量的优化,
阅读全文
浙公网安备 33010602011771号