![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC
文章平均质量分 92
昔我往矣丶
1M=1024x1024x8bit,1B(字节)=8bit(位),1bit等于一个二进制位
展开
-
线程池执行任务流程以及重用和无用非核心线程的销毁原理
ThreadPoolExexutor详解1. execute方法(方法的入口)图解三种情况:workerCountOf:工作(活跃)线程数isRunning:线程池状态是否处在运行 public void execute(Runnable command) { if (command == null) throw new NullPointerException(); /* * Proceed in 3 steps:原创 2020-12-03 17:48:16 · 2019 阅读 · 0 评论 -
线程-线程池-异步编排
一、线程回顾public static final ExecutorService service = Executors.newFixedThreadPool(10); /** * 1.继承Thread * Thread01 thread = new Thread01(); * thread.start(); * * 2.实现Runnable接口 * Runnable01 runnable = new Runnable01(); * new Thread(原创 2020-12-22 16:22:57 · 394 阅读 · 0 评论 -
线程中断的三个方法的区别(interrupt/isInterrupted/interrupted)
线程中断的三个方法的区别(interrupt/isInterrupted/interrupted)-总结自Java编程之美方法定义void interrupt():中断调用该方法的实例线程对象。当线程A正在运行时,线程B调用了线程A的interrupt方法后,就会给线程A设置中断标志为true,并且返回。设置中断标志仅仅只是设置中断标志,线程A的运行并没有没中断,它会继续往下执行。如果线程A因为调用了wait系列函数、join方法或者sleep方法而被阻塞挂起,这时候线程B调用了线程A的inter原创 2020-12-28 14:39:01 · 444 阅读 · 1 评论 -
并发编程-伪共享
并发编程-伪共享在学习什么是伪共享的前提下,我们先来了解一下计算机系统中的一些知识点CPU Cache(CPU 缓存)为了解决计算机系统中主内存和CPU之间运行速度的差距问题,在CPU和主内存之间添加了一级或者多级高速缓冲存储器(Cache),目前主流的大多数CPU都带有三级缓存(L1/L2/L3)。它们被集成到CPU内部,简称CPU Cache。(我个人的理解:就是我只和那些和我差不多优秀的人在一起玩,CPU和L1进行数据交互,L1和L2数据交互,L3和主内存数据交互,这样就能减少由于CPU和主原创 2021-01-15 00:06:34 · 174 阅读 · 0 评论 -
Java中几种锁的概述
Java中几种锁的概述乐观锁与悲观锁乐观锁与悲观锁是数据库引入的名词,JUC中引入了类似的思想(乐观锁:CAS/版本号,悲观锁:synchronized关键字)悲观锁概念:认为数据很容易被别人(其他线程或者事务)修改,所以在数据访问前对数据进行加锁(共享的数据每次只给一个人用,其他人阻塞等待)。实现:synchronized(JVM)、ReentrantLock(用户自定义)、mysql数据库中的表锁、行锁、读锁、写锁。举例:A会话mysql> select * from原创 2021-02-02 19:47:56 · 204 阅读 · 0 评论