多线程
文章平均质量分 81
Java多线程
十叶知秋
热情向上,积极乐观
展开
-
【JavaEE】多线程的synchronized、volatile 关键字、死锁以及wait 和 notify的手术刀剖析
一、synchronized关键字 1.synchronized的用法 2.synchronized 的特性 二.死锁 1.死锁的场景 2.死锁的四个必要条件 3.如何破坏死锁 4.Java 标准库中的线程安全类 三、volatile 关键字 1.volatile 能保证内存可见性 2.JMM(Java内存模型) 3. volatile 不保原创 2022-03-29 18:30:59 · 862 阅读 · 30 评论 -
【JavaEE】Thread类的基本用法手术刀剖析
文章目录一、线程创造二、线程中断三、线程等待四、获取当前线程引用五、休眠当前线程原创 2022-03-23 19:11:13 · 737 阅读 · 19 评论 -
【JavaEE】多线程案例——定时器与线程池
文章目录一、定时器1.标准库中的定时器2.手动实现定时器3.定时器完整代码二、线程池1.认识线程池2.标准库中的线程池3.实现线程池三、最后一、定时器 与生活中的概念相似,所谓定时器就是设定一个之间,时间到了就执行某段代码。 其实在很多网站上也有类似的定时器,比如我们去访问某个网站,访问一段时间时候还不能访问成功,这时就会提醒用户访问失败,这其实也是定时器的一种机制。 像我们之前文章提到的join(指定超时时间)、sleep(休眠指定时间)等操作也是采用定时器的机制的,不过它们的定时器是基于系原创 2022-04-01 21:23:40 · 1149 阅读 · 37 评论 -
【JavaEE初阶】进程调度的基本过程
一句话总结——进程调度的基本过程就是规划时间表的过程原创 2022-03-21 17:37:37 · 550 阅读 · 0 评论 -
【JavaEE初阶】进程和线程的区别和联系
线程与进程的区别和联系原创 2022-03-21 17:31:41 · 708 阅读 · 0 评论 -
【JavaEE】Synchronized原理、JUC以及线程安全的集合类手术刀剖析
文章目录一、Synchronized 原理1.synchronized的基本特点2.synchronized典型的优化手段2.1.锁膨胀/锁升级2.2. 锁粗化2.3.锁消除二、JUC(java.util.concurrent)1.Callable 接口2.ReentrantLock3.原子类4.线程池5.信号量 Semaphore6.CountDownLatch三、线程安全的集合类1.多线程环境使用 ArrayList2.多线程环境使用哈希表3.相关面试题四、最后一、Synchronized 原理1原创 2022-04-06 21:45:18 · 927 阅读 · 20 评论 -
【JavaEE】常见锁策略与CAS手术刀剖析
一、常见锁策略 1.乐观锁和悲观锁 2.读写锁 3.重量级锁和轻量级锁 4.挂起等待锁和自旋锁 5.公平锁和非公平锁 6.可重入锁和不可重入锁 7.synchronized是什么锁? 二、CAS(Compare and swap) 1.CAS是什么? 2.CAS如何解决线程安全问题 3.CAS 的 ABA 问题原创 2022-04-05 20:46:38 · 1790 阅读 · 54 评论 -
【JavaEE】多线程案例——单例模式与阻塞队列
文章目录一、单例模式1.饿汉模式2.懒汉模式3.线程安全的懒汉模式二、阻塞队列1.生产者消费者模型2.标准库中的阻塞队列3.生产者消费者模型4.阻塞队列实现最后的话一、单例模式 什么是单例模式?单例模式是一种设计模式,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 什么是设计模式?所谓设计模式,简单来说就原创 2022-03-30 21:24:17 · 988 阅读 · 24 评论 -
【JavaEE】线程安全与线程不安全问题手术刀剖析
一、线程的状态 1. 线程状态和状态转移的意义图 二、线程安全 1.概念 2.如何加锁? 三、线程不安全的原因及解决方式 最后原创 2022-03-25 22:16:43 · 684 阅读 · 22 评论