JUC
文章平均质量分 80
晓风残月Lx
今宵酒醒何处,杨柳岸,晓风残月。
展开
-
JUC并发编程之读写锁
ReentrantLock和StampedLock 的正确使用方法,以及加锁、解锁测试原创 2023-04-19 13:31:15 · 391 阅读 · 0 评论 -
JUC并发编程之读写锁原理
读写锁用的是同一个 Sycn 同步器,因此等待队列、state等也是同一个2)t2 执行 r.lock,这时进入读锁的 sync.acquireShared(1) 流程,首先会进入 tryAcquireShared 流程。如果有写锁占据,那么 tryAcquireShared 返回 -1 表示失败tryAcquireShared 返回值表示。原创 2023-04-18 10:37:44 · 245 阅读 · 0 评论 -
JUC并发编程之ReentrantLock
ReentrantLock原理和源码分析,对于非公平锁的实现、可重入原理、可打断原理、公平锁实现原理、条件变量实现的分析原创 2023-04-13 18:22:59 · 530 阅读 · 0 评论 -
JUC并发编程之AQS原理
AQS全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架子类主要实现这样一些方法 (默认抛出UnsupportedOperationException)获取锁的姿势释放锁的姿势。讲解AQS的原理原创 2023-04-13 18:12:44 · 657 阅读 · 0 评论 -
JUC并发编程之线程池
JUC的线程池笔记,自定义线程池分为自定义拒绝策略接口和自定义任务队列,ThreadPoolExecutor和fork/join的线程池,以及异步模式之工作线程,定时任务的实现原创 2023-04-09 22:00:44 · 381 阅读 · 0 评论 -
JUC并发编程共享模型之不可变(六)
共享模式之不可变,包含日期转换的问题,不可变类设计,无状态类,final原理的分析以及享元模式,享元模式运用共享技术有效地支持大量细粒度的对象。主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。原创 2023-03-24 21:00:00 · 234 阅读 · 0 评论 -
JUC并发编程共享模型之无锁(五)
共享模型之无锁,CAS 原子整数、原子引用、原子数组、字段更新器、原子累加器、Unsafe、伪共享详解原创 2023-03-22 15:48:03 · 264 阅读 · 0 评论 -
JUC并发编程共享模型之内存(四)
本文主要是对JUC编程的内存讲解,涉及JVM的基础知识,CPU缓存结构,对volatile原理分析,对CPU指令并行分析,可见性、有序性、原子性。原创 2023-03-18 16:00:00 · 546 阅读 · 1 评论 -
JUC并发编程共享模型之管程(三)(下)
本文是JUC并发编程之共享模型管程,主要讲解了wait notify的使用方法、原理和应用,同步模式之保护性暂停和异步模式之生产者消费者;还有park和unpark的介绍和原理,还有重新对于线程状态的深度理解;死锁的检测方法和多把锁的简单介绍,ReentrantLock的基本使用和特性以及应用,同步模式之顺序控制是本章的一个小总结,使用多种方式进行了实现原创 2023-03-13 15:30:00 · 216 阅读 · 0 评论 -
JUC并发编程共享模型之管程(三)(中)
JUC并发编程共享模型之管程,本文包含内容有Monitor、Java对象头、轻量级锁、重量级锁、锁膨胀、偏向锁、批量重偏向、锁消除知识点,对synchronized的原理和synchronized锁进行了详细的说明原创 2023-03-08 23:24:22 · 160 阅读 · 0 评论 -
JUC并发编程共享模型之管程(三)(上)
JUC并发编程共享模型之管程,本文主要内容是共享问题和解决方案以及一些基础知识的讲解,synchronized的一些用法、分析,对于变量的线程安全分析,java的内存模型,完成静态变量的自增、自减需要在主存和工作内存中进行数据交换。原创 2023-03-08 23:24:39 · 189 阅读 · 0 评论 -
JUC并发编程之Java线程(二)
未来任务对象,在线程执行完后得到线程的执行结果。FutureTask就是Runnable对象,因为Thread类只能执行Runnable实例的任务对象,所以把Callable包装成未来任务对象:同步等待 task 执行完毕的结果,如果在线程中获取另一个线程执行结果,会阻塞等待,用于线程同步优点:可以定义返回值可以抛出异常使用 ThreadPoolExecutor 创建线程池,并从线程池中获取线程用于执行任务。原创 2023-03-07 18:30:22 · 115 阅读 · 0 评论 -
JUC并发编程之进程和线程(一)
线程是属于进程的,是一个基本的CPU执行单元,是程序执行流的最小单元。线程是进程中的一个实体,是**系统独立调度的基本单位,线程本身不拥有系统资源。将CPU的时间片(Windows 下时间片最小约为15毫秒)分给不同的程序使用,只是由于CPU在线程间的切换非常快,我们感觉是同时运行的。 一个进程可以包含多个线程,这就是多线程,比看视频是进程,图画、声音、广告等就是多个线程。概述:进程是静止的,进程实体的运行过程就是进程,是。作用:使多道程序更好的并发执行,,增强操作系统的并发性能。原创 2023-03-06 23:36:45 · 91 阅读 · 0 评论 -
interrupt方法详解
可以使用 Thread.interrupted() 清除打断状态。LockSupport.unpark(暂停线程对象)当线程在运行中,执行到park,此时线程暂停运行。// 恢复某个线程的运行。原创 2022-11-01 15:38:09 · 3226 阅读 · 2 评论 -
查看进程线程的方法
查看进程线程的方法。原创 2022-11-01 14:48:58 · 1578 阅读 · 0 评论 -
进程与线程
1.程序是由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的。2.当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。3.进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器 等),也有的程序只能启动一个实例进程(例如网易云音乐、360 安全卫士等)。原创 2022-11-01 14:37:15 · 77 阅读 · 0 评论