随笔分类 -  并发编程

synchronized同步锁机制
摘要:目录synchronized 的使用Java的对象头和 Monitor对象头实例数据对齐填充synchronized 原理synchronized修饰代码块示例对象锁的四种状态无锁偏向锁轻量级锁重量级锁 synchronized 的使用 如果修饰的是具体对象:锁的是对象 如果修饰的是成员方法:那锁的
30
0
0
什么是锁
摘要:目录锁的分类乐观锁和悲观锁悲观锁乐观锁两种锁的使用场景互斥锁和读写锁互斥锁读写锁独占锁和共享锁独占锁(排他锁)共享锁公平锁和非公平锁公平锁非公平锁可重入锁自旋锁分段锁锁优化技术(锁粗化、锁消除)锁粗化锁消除 大佬文章: java所有的“锁”大总结,以后面试再也不怕遇到锁了 不可不说的Java“锁”事
31
0
0
CAS乐观锁
摘要:目录CAS原理重试机制(循环 CAS)底层实现CAS 的问题CAS的ABA问题循环时间长开销大只能保证单个变量的原子性 大佬文章: CAS原理 深入理解 CAS 原理 | Java Java CAS操作的实现原理深度解析与应用案例 面试必问的CAS原理你会了吗.md CAS 全称为 Compare
13
0
0
Lock接口
摘要:目录Lock接口概述API方法锁获取与中断Synchronized和Lock的区别 大佬地址: AQS(AbstractQueuedSynchronizer)源码深度解析(2)—Lock接口以及自定义锁的实现 Lock接口概述 Lock接口同样自于JDK1.5,它被描述成JUC中的锁的超级接口,所有
23
0
1
AQS
摘要:目录AQS简介AQS原理AbstractQueuedSynchronizer类state共享变量CLH队列Node属性独占式分析acquire独占式获取锁tryAcquireaddWaiterenqacquireQueuedshouldParkAfterFailedAcquireparkAndChe
12
0
0
线程中断interrupt、isInterrupted、interrupted
摘要:目录thread.interrupt()thread.isInterrupted()Thread.interrupted()示例停止线程 大佬地址: Java的interrupt中断线程详解 Java 中的线程中断是一种线程间的协作模式,通过设置线程的中断标志并不能直接终止该线程的执行,而是被中断的
0
0
0
LockSupport
摘要:目录LockSupport简介LockSupport 类的构造方法LockSupport 类的属性LockSupport 类的常用方法挂起线程的相关方法park()parkNanos(long nanos)parkUntil(long deadline)park(Object blocker)par
0
0
0
Atomic原子变量类
摘要:3.6 原子变量类 1.原子性介绍 目标 1.理解并发编程的原子性的含义 2.实现原子性操作的传统方式 介绍 所谓原子性操作是指在一次的操作或者多次操作中,要么所有的操作全部都得到了执行并且不会受到任何因素的干扰而中断,要么所有的操作都不会执行。 场景说明 银行转账来进行举例说明,比如从Alex的账
81
0
0
线程池中利用多线程大量插入数据
摘要:👉👉请优先查看大佬文章 import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorServi
1463
0
0
多线程的项目实战
摘要:👉👉请优先查看大佬文章 //1.CountDownLatch,计数 CountDownLatch doneSignal = new CountDownLatch(1000); //2.创建线程池来存放线程,以防考生数量太多创建太多线程,占用过多资源 ThreadPoolExecutor exec
316
0
0
面试题
摘要:面试题:简述线程、进程、程序的基本概念? 进程 我们把运行中的程序叫做进程,每个进程都会占用内存与CPU资源,进程与进程之间互相独立. 线程 线程就是进程中的一个执行单元,负责当前进程中程序的执行。一个进程可以包含多个线程。一个进程包含了多个线程就是多线程。多线程可以提高程序的并行运行效率。是操作系
44
0
0
12.JUC并发编程中的并发工具类
摘要:1.等待多线程完成的CountDownLatch(倒计数闭锁) 1.1.目标 1.掌握CountDownLatch使用(实现等待其他线程处理完才继续运行当前线程) 2.理解CountDownLatch实现原理 3.CountDownLatch实现闭锁比join的优势是什么 4.CountDownLa
63
0
0
11.并发容器和框架
摘要:11.1ConcurrentHashMap 11.1.1 为什么要使用ConcurrentHashMap 在并发编程中使用HashMap可能导致程序死循环。而使用线程安全的HashTable效率又非常低下,基于以上两个原因,便有了ConcurrentHashMap的登场机会。 (1)线程不安全的Ha
26
0
0
10.锁的优化及注意事项
摘要:10.1有助于提高锁性能的几点建议 10.1.1减少锁持有时间 对于使用锁进行并发控制的应用程序来说,如果单个线程特有锁的时间过长,会导致锁的竞争更加激烈,会影响系统的性能,在程序中需要尽可能减少线程对锁的持有时间,如下面代码: // 同步方法 public synchronized void sy
67
0
0
9.保障线程安全的设计技术
摘要:从面向对象设计的角度出发介绍几种保障线程安全的设计技术,这些技术可以使得我们在不必借助锁的情况下保障线程安全,避免锁可能导致的问题及开销。 9.1 Java 运行时存储空间 Java运行时(Java runtime)空间可以分为栈区,堆区与方法区(非堆空间);栈空间(Stack Space)为线程的
38
0
0
8.线程池
摘要:8.1 什么是线程池 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线
43
0
0
7.线程管理
摘要:7.1线程组 类似于在计算机中使用文件夹管理文件,也可以使用线程组来管理线程,在线程组中定义一组相似(相关)的线程,在线程组中也可以定义子线程组。 Thread 类有几个构造方法允许在创建线程时指定线程组,如果在创建线程时没有指定线程组则该线程就属于父线程所在的线程组。 JVM 在创建 main 线
49
0
0
ThreadLocal 的使用
摘要:声明:此文章大部分内容来源<<ThreadLocal夺命11连问>>,加上一些自己附加内容。如果看到此篇文章,请优先查看大佬文章。 目录什么是ThreadLocal为什么要用ThreadLocal?ThreadLocal的API方法ThreadLocal源码剖析ThreadLocal的原理是什么?为
139
0
0
4.线程间的通信
摘要:4.1 什么是等待通知机制 在单线程编程中,要执行的操作需要满足一定的条件才能执行,可以把这个操作放在 if 语句块中。在多线程编程中,可能 A 线程的条件没有满足只是暂时的,稍后其他的线程 B 可能会更新条件使得 A 线程的条件得到满足。可以将 A 线程暂停,直到它的条件得到满足后再将 A 线程唤
49
0
0
3.线程同步
摘要:3.1 线程同步机制简介 线程同步机制是一套用于协调线程之间的数据访问的机制,该机制可以保障线程安全。 Java 平台提供的线程同步机制包括:锁、volatile 关键字、final 关键字、static 关键字,以及相关的 API,如 Object.wait()、Object.notify()等。
65
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起