随笔分类 -  多线程

摘要:概述 在 java 中,线程池 ThreadPoolExecutor 是一个绕不过去的类,它是享元模式思想的体现,通过在容器中创建一定数量的线程加以重复利用,从而避免频繁创建线程带来的额外开销。一个设置合理的线程池可以提高任务响应的速度,并且避免线程数超过硬件能力带来的意外情况。 在本文,将深入线程 阅读全文
posted @ 2021-02-16 17:05 Createsequence 阅读(424) 评论(2) 推荐(1) 编辑
摘要:概述 说起多线程同步,一般的方案就是加锁,而在 java 中,提到加锁就想起 juc 包提供的 Lock 接口实现类与默认的关键字 synchronized 。我们常听到,juc 下的锁大多基于 AQS,而 AQS 的锁机制基于 CAS,相比起 CAS 使用的自旋锁,Synchronized 是一种 阅读全文
posted @ 2021-02-16 17:03 Createsequence 阅读(464) 评论(0) 推荐(0) 编辑
摘要:概述 当我们提到 juc 包下的锁,就不得不联系到 AbstractQueuedSynchronizer 这个类,这个类就是大名鼎鼎的 AQS,AQS 按字面意思翻译为抽象队列同步器,调用者可以通过继承该类快速的实现同步多线程下的同步容器。不管是我们熟悉的 ReadWriteLock 亦或是 Ree 阅读全文
posted @ 2021-02-16 17:02 Createsequence 阅读(350) 评论(0) 推荐(0) 编辑
摘要:一.事先准备 首先准备一个运行用的代码: public class Singleton { public static void main(String[] args) { Thread[] threads = new Thread[10]; for (int i = 0; i < threads. 阅读全文
posted @ 2020-05-24 09:47 Createsequence 阅读(448) 评论(0) 推荐(0) 编辑
摘要:一、多线程情况下的线程安全问题 先理解一个概念: 线程安全:多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他操作,调用这个对象的行为都可以获得正确的结果,那么这个对象就是线程安全的。 线程不安全:就是不提供数据访问保护,有 阅读全文
posted @ 2020-05-24 09:43 Createsequence 阅读(503) 评论(0) 推荐(0) 编辑
摘要:一、线程生命周期 一个线程被实例化完成,到线程销毁的中间过程 1.新生态:New 一个线程对象被实例化完成,但是没有做任何操作 2.就绪态度:Ready 一个线程被开启,并且开始抢占CPU时间 3.运行态:Run 一个进程抢到的CPU时间片,并且开始执行线程中的逻辑 4.阻塞态:Interrupt 阅读全文
posted @ 2020-05-24 09:40 Createsequence 阅读(248) 评论(0) 推荐(0) 编辑
摘要:一、串行,并行,并发 1.名称解释 串行:程序按顺序执行,同一时间只能执行一个程序,前一个执行完毕后才轮到后一个 并行:多个程序可以同时执行,宏观和微观上看程序都是同时执行 并发:同一时刻只有一条程序执行,但是多个进程被快速轮换执行,宏观上看是同时执行,微观上看只是把时间分成若干段,使多个进程快速交 阅读全文
posted @ 2020-04-08 12:01 Createsequence 阅读(252) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示