Java并发编程
文章平均质量分 71
Panda_威少
优秀的威
展开
-
Java各种锁的使用
Java.Utils.Concurrent原创 2022-06-12 22:13:40 · 131 阅读 · 0 评论 -
JMM及volatile深入理解
JMM及volatile底层深入理解1. JMM- - - Java内存模型2. volatile 如何保证可见性(底层原理)3. volatile 如何保证指令重排的(底层原理)1. JMM- - - Java内存模型在 JDK1.2 之前,Java 的内存模型实现总是从主存(即共享内存)读取变量,是不需要进⾏特别的注意的。⽽在当前的 Java 内存模型下,线程可以把变量保存本地内存(⽐如机器的寄存器)中,⽽不是直接在主存中进⾏读写。这就可能造成⼀个线程在主存中修改了⼀个变量的值,⽽另外⼀个线程原创 2022-03-03 15:26:09 · 563 阅读 · 0 评论 -
多线程打印
两个线程交替打印1到1001 两个线程交替打印1到1001 两个线程交替打印1到100static volatile int falg = 0; @Test public void test001(){ Thread threadA = new Thread(new Runnable() { @Override public void run() { int i = -1;原创 2022-02-14 11:55:48 · 539 阅读 · 0 评论 -
Java---JUC并发篇(多线程详细版)
这里写目录标题1. 并发基础(线程篇)1.1 java线程状态及线程状态之间的转化1.2 操作系统层面有5种状态2. 线程池的核心参数(7个核心参数)2.1 线程池参数介绍2.2 代码实现2.3 handler 4种拒绝策略3. sleep与wait方法对比3.1 异同点3.2 代码展示4. lock锁与synchronized锁区别4.1 异同点4.2 代码实现5. volatile 能否保证线程安全5.1 什么是线程安全5.2 代码展示5.2.1 原子性5.2.2 可见性5.2.3 有序性6. Java原创 2021-12-09 22:05:32 · 654 阅读 · 3 评论 -
锁机制(自旋锁-乐观锁-悲观锁)
各种锁机制(主要介绍自旋锁)1. 自旋锁2. 悲观锁---Synchornized2.1 偏向锁2.1.1 为什么要引入偏向锁?2.1.2 偏向锁原理和升级过程2.2 轻量级锁2.2.1 为什么要引入轻量级锁?2.2.2 轻量级锁原理和升级过程2.3 几种锁的优缺点1. 自旋锁自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务原创 2022-01-23 19:44:00 · 2272 阅读 · 1 评论 -
2022-Java常问面试题总结2(基础篇)
2022-Java常问面试题总结21. 进程间的通信方式2. 线程程间的通信方式1. 进程间的通信方式进程间的通信方式三种分别是消息队列通信、信号量通信和共享内存通信。1、消息队列是在两个不相关的进程之间传递数据的一种简单高效的方式,独立于发送进程和接受进程而存在。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。2、信号量是一种提供不同进程或者一个给定的不同线程之间同步的手段。它常作为一种锁机制,防止进程访问共享资源时,其他的进程也访问该资源。主要作为进程之间以及同原创 2022-02-07 17:14:03 · 1027 阅读 · 0 评论 -
一分钟认识synchronized
synchronized1. 多线程的创建方式之一2. synchronized实现原理3. 使用synchronized1. 多线程的创建方式之一通过实现Runnable接口,并重写run方法实现多线程, 下面调用10个线程,每次运行的结果都不一样。public class synchronized_test implements Runnable { private static int count = 0; public static void main(String[] ar原创 2021-09-02 11:05:30 · 107 阅读 · 1 评论 -
Java并发编程
Java并发编程1.线程实现的3种实现方式:1.1 直接extends Thread 覆盖run( ) 方法.1.2 实现 Runnable接口,实现run( ) 方法.1.3 implements Callable接口, 实现call( ) 方法.2. 线程的中断机制:Java中断机制是一种协作机制,也就是说 中断并不能直接终止另一个线程,而需要被中断的线程自己处理中断。Thread类提供了3种中断方法如下:2.1 public static boolean interrupted( );原创 2021-08-04 14:10:59 · 148 阅读 · 1 评论