搜索结果
查询Tags标签: JUC,共有 172条记录-
JUC之Java中的阻塞队列及其实现原理
在文章线程池实现原理 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中介绍了线程池的组成部分,其中一个组成部分就是阻塞队列。那么JAVA中的阻塞队列如何实现的呢?阻塞队列,关键字是阻塞,先理解阻塞的含义——所谓阻塞队列两层语义——1)队列本身被阻塞(队列满,无法插…
2021/12/30 14:09:38 人评论 次浏览 -
JUC之Java中的阻塞队列及其实现原理
在文章线程池实现原理 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中介绍了线程池的组成部分,其中一个组成部分就是阻塞队列。那么JAVA中的阻塞队列如何实现的呢?阻塞队列,关键字是阻塞,先理解阻塞的含义——所谓阻塞队列两层语义——1)队列本身被阻塞(队列满,无法插…
2021/12/30 14:09:38 人评论 次浏览 -
JUC并发编程快速入门篇(十)—— Fork/Join 框架和异步回调
Fork/Join 框架和异步回调 Fork/Join 框架 Fork/Join 它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。Fork/Join 框架要完成两件事情: Fork:把一个复杂任务进行分拆,大事化小 Join:把分拆任务的结果进行合并案…
2021/12/28 9:07:49 人评论 次浏览 -
JUC并发编程快速入门篇(十)—— Fork/Join 框架和异步回调
Fork/Join 框架和异步回调 Fork/Join 框架 Fork/Join 它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。Fork/Join 框架要完成两件事情: Fork:把一个复杂任务进行分拆,大事化小 Join:把分拆任务的结果进行合并案…
2021/12/28 9:07:49 人评论 次浏览 -
JUC高并发编程(二)之多线程下载支付宝对账文件
1.背景在实际开发中,经常会遇到支付需求,当然就会有支付对账的需求....2.项目结构3.代码 3.1.线程池配置对象@Configuration @EnableAsync public class ExecutorConfig {/*** @return*/@Beanpublic Executor asyncServiceExecutor() {ThreadPoolTaskExecutor executor = …
2021/12/25 11:37:07 人评论 次浏览 -
JUC高并发编程(二)之多线程下载支付宝对账文件
1.背景在实际开发中,经常会遇到支付需求,当然就会有支付对账的需求....2.项目结构3.代码 3.1.线程池配置对象@Configuration @EnableAsync public class ExecutorConfig {/*** @return*/@Beanpublic Executor asyncServiceExecutor() {ThreadPoolTaskExecutor executor = …
2021/12/25 11:37:07 人评论 次浏览 -
JUC并发编程快速入门篇(七)—— 读写锁和锁降级
读写锁和锁降级 读写锁 读写锁:ReentrantReadWriteLock 读操作共享资源,写操作独占资源 防止在写操作的过程中被其他线程读取(读取不完整) 缺点:可能造成读的饥饿问题,一直读,没有写 //资源类 class MyCache{//创建资源集合private volatile Map<String, Object…
2021/12/24 9:07:12 人评论 次浏览 -
JUC并发编程快速入门篇(七)—— 读写锁和锁降级
读写锁和锁降级 读写锁 读写锁:ReentrantReadWriteLock 读操作共享资源,写操作独占资源 防止在写操作的过程中被其他线程读取(读取不完整) 缺点:可能造成读的饥饿问题,一直读,没有写 //资源类 class MyCache{//创建资源集合private volatile Map<String, Object…
2021/12/24 9:07:12 人评论 次浏览 -
JUC并发编程快速入门篇(六)—— 三大辅助类
三大辅助类 少计数 CountDownLatch CountDownLatch 类可以设置一个计数器,然后通过 countDown 方法来进行减 1 的操作,使用 await 方法等待计数器不大于 0,然后继续执行 await 方法之后的语句。CountDownLatch 主要有两个方法,当一个或多个线程调用 await 方法时,这…
2021/12/24 9:07:11 人评论 次浏览 -
JUC并发编程快速入门篇(六)—— 三大辅助类
三大辅助类 少计数 CountDownLatch CountDownLatch 类可以设置一个计数器,然后通过 countDown 方法来进行减 1 的操作,使用 await 方法等待计数器不大于 0,然后继续执行 await 方法之后的语句。CountDownLatch 主要有两个方法,当一个或多个线程调用 await 方法时,这…
2021/12/24 9:07:11 人评论 次浏览 -
JUC并发编程快速入门篇(四)—— 多线程锁
多线程锁 synchronized锁的八个问题案例class Phone {public static synchronized void sendSMS() throws Exception {//停留4秒TimeUnit.SECONDS.sleep(4);System.out.println("------sendSMS");}public static synchronized void sendEmail() throws Exceptio…
2021/12/23 22:07:22 人评论 次浏览 -
JUC并发编程快速入门篇(四)—— 多线程锁
多线程锁 synchronized锁的八个问题案例class Phone {public static synchronized void sendSMS() throws Exception {//停留4秒TimeUnit.SECONDS.sleep(4);System.out.println("------sendSMS");}public static synchronized void sendEmail() throws Exceptio…
2021/12/23 22:07:22 人评论 次浏览 -
JUC并发编程(一)—— Synchronized和Lock
Synchronized和Lock Synchronized synchronized 是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种:修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;修饰一个方法,被修饰的方法称为同…
2021/12/23 9:07:49 人评论 次浏览 -
JUC并发编程(一)—— Synchronized和Lock
Synchronized和Lock Synchronized synchronized 是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种:修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;修饰一个方法,被修饰的方法称为同…
2021/12/23 9:07:49 人评论 次浏览 -
JUC并发编程(二)——线程间通信和定制化通信
线程间通信和定制化通信 线程间通信概述 线程间通信的模型有两种:共享内存和消息传递,以下方式都是基本这两种模型来实现的。 模拟场景---两个线程,一个线程对当前数值加 1,另一个线程对当前数值减 1,要求用线程间通信 synchronized 方案 //创建资源类,定义属性和操作…
2021/12/23 9:07:47 人评论 次浏览