
线程与线程池
文章平均质量分 90
线程与线程池
不愿放下技术的小赵
这个作者很懒,什么都没留下…
展开
-
线程安全(七)ReentrantLock 简介、Condition 条件变量、锁的工作原理、synchronized 与 Lock 的区别
线程安全(七)ReentrantLock 简介、Condition 条件变量、锁的工作原理、synchronized 与 Lock 的区别原创 2024-07-17 23:39:50 · 1340 阅读 · 0 评论 -
线程安全(六)AQS 的工作原理
线程安全(六)AQS 的工作原理原创 2024-07-16 01:26:36 · 752 阅读 · 0 评论 -
线程安全(五)volatile 修饰共享变量(JIT即时编译器、指令重排序)
线程安全(五)volatile 修饰共享变量(JIT即时编译器、指令重排序)原创 2024-07-14 23:30:00 · 1495 阅读 · 0 评论 -
线程安全(四)CAS 机制
线程安全(四)CAS 机制原创 2024-07-14 20:15:00 · 853 阅读 · 0 评论 -
线程安全(三)JMM(Java内存模型)
线程安全(三)JMM(Java内存模型)原创 2024-07-13 23:45:00 · 1518 阅读 · 0 评论 -
线程安全(二)synchronized 的底层实现原理、锁升级、对象的内存结构
线程安全(二)synchronized 的底层实现原理、锁升级、对象的内存结构原创 2024-07-11 23:15:00 · 1950 阅读 · 0 评论 -
线程安全(一)Java锁(锁分类、锁升级、锁优化)
线程安全(一)Java锁(锁分类、锁升级、锁优化)原创 2024-07-08 02:30:00 · 1089 阅读 · 0 评论 -
CopyOnWriteArrayList 使用介绍
CopyOnWriteArrayList 使用介绍原创 2024-02-28 09:58:00 · 1195 阅读 · 0 评论 -
join()、wait()、notify() 线程方法概述
join()、wait()、notify() 线程方法概述原创 2023-08-22 17:55:05 · 691 阅读 · 0 评论 -
Java实现并发请求
目录HttpClientUtil.javaLatchTest.javaThreadPoolUtils.java结果展示代码结构:HttpClientUtil.javaimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.Htt原创 2021-04-02 10:14:18 · 1095 阅读 · 0 评论 -
多线程、线程池、StopWatch、CountDownLatch实战
目录业务场景代码结构UserController.javaUser.javaUserThreadHandle.javaUserMapper.javaUserMapper.xmlUserService.javaUserServiceImpl.java运行结果:业务场景使用Java代码尽可能快地修改全部用户的密码为“123456”。1.500万大数据批处理;2.多线程的使用;3.线程池;4.StopWatch 计时;5.CountDownLatch 计数器。(此处只是举例多线程、线程池的原创 2021-01-15 20:00:12 · 1264 阅读 · 1 评论 -
JAVA中使用ReentrantLock时检测死锁
DeadlockChecker.javastatic class DeadlockChecker { private final static ThreadMXBean mbean = ManagementFactory.getThreadMXBean(); public static void check() { Thread tt = new Thread(() -> { while(true) { lo原创 2020-12-08 16:22:50 · 340 阅读 · 1 评论 -
线程池简介及底层原理
目录一、线程池简介二、线程池的几种创建方式三、线程池的底层原理一、线程池简介背景:在系统当中,频繁地创建销毁线程,或者创建过多的线程都会给系统带来风险,轻者拖慢系统,出现卡顿现象,严重时可能出现内存溢出导致系统瘫痪。为此,我们在处理并发量大的业务逻辑时,常常使用线程池来管理和调度线程。线程池的主要工作:线程复用;(避免频繁创建、销毁线程)控制最大并发量;(避免因为大量的线程导致程序崩溃)管理线程。(管理线程的创建、销毁、任务调度)线程池的优点:降低资源消耗:通过重复利用自己创建原创 2020-12-08 13:43:29 · 2641 阅读 · 0 评论 -
Windows ab压力测试工具的使用
目录1.概述2.下载3.使用4.结果分析1.概述Apache ab是Apache自带的压力测试工具。网站访问的相关概念:PV(访问量):Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。UV(独立访客):Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只会被计算一次。IP(独立IP):指独立IP数。00:...原创 2020-04-20 10:09:34 · 716 阅读 · 0 评论 -
ThreadLocal源码分析
目录1. 线程安全2.源码剖析3.补充知识:4.局限性1. 线程安全什么是线程安全? 原子性,可见性,有序性怎么去解决安全性问题? ->方式一:锁(synchronized)方式二:ThreadLocal:提供了一个线程范围的局部变量,线程级别隔离我们在了解一个技术的时候我们先了解这个技术的使用举个例子:线程不安全的情况:private ...原创 2019-09-22 10:57:12 · 228 阅读 · 0 评论 -
Java多线程的原子性、可见性、有序性
目录Java内存模型原子性可见性有序性Happen Before 规则Java内存模型 Java虚拟机规范试图定义一种Java内存模型(JMM),来屏蔽掉各种硬件和操作系统的内存访问差异,让Java程序在各种平台上都能达到一致的内存访问效果。简单来说,由于CPU执行指令的速度是很快的,但是内存访问的速度就慢了很多,相差的不是一个数量级,所以搞处理器的那群大佬们又在CPU里加了好几层高速缓存。...原创 2020-04-25 13:51:15 · 478 阅读 · 0 评论 -
AtomicInteger使用说明
1.概述java.util.concurrent.atomic.AtomicInteger。高并发的情况下,i++无法保证原子性,往往会出现问题,所以引入AtomicInteger类。2.代码实例2.1不使用AcomicIntegerAtomicIntegerDemo 类import java.util.concurrent.CountDownLatch;import java....原创 2020-04-25 13:27:56 · 366 阅读 · 0 评论