Welcome everyone

标签:多线程

java

使用加强的ThreadLocal

使用加强的ThreadLocal
ThreadLocal 大家都不陌生,存储线程变量,线程间是隔离的,互不影响,一般我们在保存或者传递上下文信息会使用 但是有一定的局限性,比如不支持子线程的传递,我们如果在父线程开了多线程处理逻辑,在多线程中就丢失了父线程存储的变量   这时我们可以使用 Inherit...

汪明鑫 2年前 (2021-12-07) 432浏览 0评论 2喜欢

java

锁升级过程

锁升级过程
认识锁升级 Java锁是为了防止进程多线程并发访问临界资源造成数据安全问题的 申请锁需要发起系统调用,向操作系统内核申请锁,是一个比较重的操作 Jvm对锁做了多次优化,避免上来就直接怼成重量锁。   于是乎就有锁升级,带着学习的目的一探究竟,而不是浮在表面。 锁升级的过...

汪明鑫 2年前 (2021-11-17) 463浏览 0评论 5喜欢

java

AQS 真的难顶!

AQS 真的难顶!
谈AQS 首先需要聊到多线程并发 多线程并发操作内存数据,会出现线程安全的问题 因此引入了锁的概念,只允许一个线程争抢到锁,进行后续操作,其他线程阻塞       就类比高速公路收费站,车辆都是有序排队的通过收费站,一辆车过去缴费时,后面的车是排...

汪明鑫 4年前 (2020-03-20) 653浏览 2评论 0喜欢

java

JUC 大图一览

JUC 大图一览
JUC 知识体系,需要学习掌握 ,learn ING     上图只是冰山一角,JUC里还有很多东西,打算以这个图为中心发散深入的进行下学习 感觉JUC工作中用的不多,而且在jdk中是比较难的一部分,比较枯燥、难啃。。。慢慢整吧 博客和书该看还是要看,源码该...

汪明鑫 4年前 (2020-03-20) 545浏览 0评论 0喜欢

java

线程池中的奇技淫巧

线程池中的奇技淫巧
线程池介绍 线程池 见上一篇文章   线程池工作原理 【当一个任务被添加进线程池时】 1.线程数量未达到corePoolSize,则新建一个线程(核心线程)执行任务 2.线程数量达到了corePoolSize,则将任务移入队列等待 3.队列已满,新建线程(非核心线程...

汪明鑫 4年前 (2020-02-20) 724浏览 0评论 0喜欢

java

wait & notify

wait & notify
wait & notify   之前学习过wait和notify,但是总是理不清楚,不太明白,今天整理一篇博客, 争取把wait和notify搞明白。   wait和notify是Object的方法,而不是Thread的方法。 Object的wait...

汪明鑫 5年前 (2019-01-12) 685浏览 2评论 0喜欢

java

jstack的使用

jstack的使用
多个线程争抢同一个monitor的lock会陷入阻塞。   看代码: /** * @author: wang ming xin * @create: 2019-01-12 11:00 */ public class ThisMonitor { p...

汪明鑫 5年前 (2019-01-12) 883浏览 0评论 0喜欢

java

多线程概述

多线程概述
如果某个支持两个或者多个动作同时存在,那么这个系统就是并发系统;如果某个支持两个或者多个动作同时执行,那么这个系统就是并行系统。 在并发程序中可以同时拥有两个或者多个线程。如果程序在单核处理器上运行,那么这两个线程将会交替的换入或换出内存,这些线程是同时存在的。 如果程序能够并行...

汪明鑫 6年前 (2018-09-04) 641浏览 0评论 0喜欢

java

线程池

线程池
任务数量多时,用线程池更快 先看下Executor整体架构 那么Executors是什么? 类比Array、Arrays,Collection、Collections -s表示工具类 用底层,看顶层,想要用一个框构的底层、实现类,先要看其最顶层 public i...

汪明鑫 6年前 (2018-08-28) 766浏览 1评论 0喜欢