首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java线程
IT小东北
创建于2022-08-11
订阅专栏
Java线程
等 3 人订阅
共19篇文章
创建于2022-08-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
大白话Java--详细讲一下Callable和Runnable
1.Callale和Runnable有哪些不同 1.1 Runnable Runnable 没有返回值 不能跑出checked Exception Runnable为什么会有这俩个对于日常变成来说很重
Java阻塞队列详解
1.什么是阻塞队列 阻塞队列--BlockingQueue,它是一个接口, BlcokingQueue继承了Queue接口,是队列的一种,Queue和BlockingQueue都是在Java5中加入的
Java并发编程17-保护性暂停模式
1.什么是保护性暂停模式 简单来说就是一个线程等待另一个线程的执行结果。JDK中join的实现、Future的实现、采用的就是此模式。因为要等待另一方的结果,因此归类到同步模式。 2.实现 测试1.这
Java并发编程15-semaphore信号量详解
1.Semaphore介绍 Semaphore翻译过来就是信号量的意思,用来限制能同时访问共享资源的线程上限。 简单举个例子:一个停车场里面只有三个停车位。这个时候同时来了俩辆车占了这个停车位。过了一
Java并发编程15-一篇文章搞定AQS-源码篇
1.通过源码看一下AQS的主要的核心概念 AQS提供了一个框架来实现阻塞的锁以及相关的同步器,内部是基于一个FIFO队列。这个类是绝大多数同步器的基础,所有的同步器的内部都依赖于一个原子的volati
Java并发编程14-带你入门Java线程池
1.ThreadPool 基本原理 先借用一个图来看一下 ExecutorService是线程池最基本的接口。里面定义了包括提交任务,关闭线程池的方法 ScheduledExecutorService
Java并发编程01
1.创建线程和运行线程 1.1直接使用 Thread 1.2使用 Runnable 配合 Thread 1.1和1.2方法分析 通过源码很容易可以看出使用Runnable的方式其实就是将runnabl
Java并发编程02-常用方法
1.start()和run() start() 功能:启动一个新线程,在新的线程运行 run 方法中的代码 注意:start 方法只是让线程进入就绪,里面代码不一定立刻运行(CPU 的时间片还没分给它
Java并发编程03-俩阶段终止模式
1.什么是俩阶段终止模式: 在一个线程T1中如何优雅终止线程T2,优雅就是代表终止T2的时候可以让它把被打断后想执行的逻辑执行完 2.应用场景 例如我们想监控一台电脑的健康状态,例如cpu使用率,内存
Java并发编程04-线程状态
1.从操作系统系统层面来讲-五种状态 【初始状态】:仅是在语言层面创建了线程对象,还未与操作系统关联(简单来说就是new出了线程对象,还没有调用run方法) 【可运行状态】:指该线程已经被创建(与操作
Java并发编程05-synchronized简介
什么是临界区:一段代码内,如果存在对共享资源的读写操作,称这段代码块为临界区 静态条件:多个线程在临界区内执行,多个代码的执行序列不同而导致结果无法预测 1.语法 2.方法上的synchronized
Java并发编程13-常用原子操作介绍
1.常见的JUC整数并发包 AtomicBoolean AtomicInteger AtomicLong 2.AtominInteger常用方法 2.1 updateAndGet()方法原理 upda
Java并发编程12-CAS
1.什么是CAS(Compare And Swap) cas是一种基于锁的操作,而且是乐观锁。CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存地址里面的值和A的值相等,
Java并发编程11--volatile相关问题
1 可见性问题 分析:为什么会出现这种情况 1.初始状态,t线程刚刚从主线程中读取了run的值到工作内存。 2.因为t线程要频繁读取run的值,JIT编译器会将run的值缓存至自己的工作内存中的高速缓
Java并发编程09-park unpark 原理
1.基本使用 暂停当前线程-LockSupport.park(); 恢复某个线程的运行- LockSupport.unpark(暂停线程对象) 这里注意一下,调用park方法,它的线程状态还是wai
Java并发编程10-ReentrantLock加锁解锁原理
1.ReentrantLock特点 可中断 在ReentrantLock中,lockInterruptibly()方法是获得锁,但是它是可以打断的,什么意思呢,就是在上面的例子中,肯定是主线程获取到了
Java并发编程08-wait/notify原理以及Join原理
先来一张图简单理解一下 在Monitor对象中,主要包含Owner(存储的是当前持有这个锁的线程),EntryList(竞争锁时没有竞争到到进入EntryuList编程阻塞状态等待),WatiSet(
Java并发编程07-synchronized优化原理
1.轻量级锁 轻量级锁的使用场景:如果一个对象虽然有多线程要加锁,但加锁的时间是错开的(也就是没有竞争),那么可以使用轻量级锁来优化。 轻量级锁执行流程:在轻量级锁中不是采用monitor,而是采用一
Java并发编程06-monitor、synchronized原理
本文只要是对Java线程中monitor的概念以及相应原理进行总结。同时也针对synchronized原理和运行流程做了一个简短的介绍,有兴趣的同学们可以好好看一看,如果有错误的地方欢迎指出。