尚硅谷JUC高并发编程学习笔记(1)JUC简介与Lock接口,一、什么是JUC1、JUC简介在Java中,线程部分是一个重点,本篇文章说的JUC也是关于线程的。JUC就是java.util.concurrent工具包的简称。这是一个处理线程的工具包,JDK1.5开始出现的。2、进程与线程进程(Process)
并行的效率从代码层次上强依赖于多进程/多线程代码,从硬件角度上则依赖于多核 CPU。 并发:并发 (concurrent) 指的是多个程序可以同时运行的现象,更细化的是多进程可以同时运行或者多指令可以同时运行。 并发:同一时刻多个线程在访问同一个资源,多个线程对一个点 例子:春运抢票 电商秒杀... 并行:多项工作一起执行...
《尚硅谷高级技术之JUC高并发编程》学习笔记07——JUC 三大辅助类 JUC 中提供了三种常用的辅助类,通过这些辅助类可以很好的解决线程数量过多时 Lock 锁的频繁操作。这三种辅助类为: CountDownLatch: 减少计数 CyclicBarrier: 循环栅栏 Semaphore: 信号灯 减少计数:CountDownLatch CountDownLatch 类可以设置一个计数器,...
尚硅谷JUC高并发编程学习笔记(2)线程通信与集合线程安全,一、线程间通信线程间通信的模型有两种:共享内存和消息传递线程间的通信具体步骤:(涉及上中下部)1、创建资源类,在资源类中船舰属性和操作方法2、在资源类操作方法:判断、操作、通知3、创建多个线程,调用资
Fork / Join 框架简介 Fork / Join 它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。Fork / Join 框架要完成两件事情。 Fork:把一个复杂任务进行分拆,大事化小。 Join :把分拆任务的结果进行合并。 **任务分
高并发编程学习笔记,学习资源 ——《尚硅谷高级技术之 JUC 高并发编程》。 本篇笔记包含以下内容: BlockingQueue 简介,从 BlockingQueue 的数据结构和运用场景对其进行简单介绍; 核心方法,对 BlockingQueue 的增、删、查操作等主要方法进行说明并演示; 常见类型,分别对 ArrayListBlockingQueue 、LinkedBlockingQueue、Sync...
是否有返回值 Callable接口有返回值,Runable 接口无返回值。 是否触发异常 Callable接口会抛出异常,Runable 接口不抛出异常。 实现方法名称不同,Callable接口实现call()方法,Runable 接口实现 run() 方法。 找一个类,即和 Runable 有关系,又和 Callable 有关系。
尚硅谷JUC高并发编程学习笔记(3)多线程锁 一、多线程锁 某一个时刻内,只能有唯一一个线程去访问这些synchronized 方法。 所有的静态同步方法用的也是同一把锁——类对象本身,这两把锁是两个不同的对象,所以静态同步方法与非静态同步方法之间是不会有竞态条件的。但是一旦一个静态同步方法获取锁后,...
针对这种场景,JAVA 的并发包提供了读写锁 ReentrantReadWriteLock,它表示两个锁,一个是读操作相关的锁,称为共享锁;一个是写相关的锁,称为排他锁。 线程进入读锁的前提条件: 没有其他线程的写锁; 没有写请求, 或者有写请求,但调用线程和持有锁的线程是同一个(可重入锁)。
Fork / Join 框架简介 Fork / Join 它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。Fork / J...