
Java多线程
文章平均质量分 94
Java多线程相关知识
豌豆日记
这个作者很懒,什么都没留下…
展开
-
重学Java并发编程(LockSupport的使用)
前言: 本文中的代码基于JDK1.8 LockSupport是什么? LockSupport定义了一组公共的静态方法,这些方法提供了最基本的线程阻塞和唤醒功能,LockSupport是成为构建同步工具的基础工具。 LockSupport定义了一组以park开头的方法来阻塞当前线程,以及unpark(Thread thread)方法来唤醒一个被阻塞的线程。Park有停车的意思,假设线程为车辆,那么park方法代表着停车,而unpark方法则是指车辆启动离开。 体验一下LockSupport的用法 p.原创 2021-11-25 21:49:52 · 741 阅读 · 0 评论 -
重学Java并发编程(写时复制技术在CopyOnWriteArrayList中的应用)
前言: 本文中的代码基于JDK1.8 线程不安全的List java.util.LinkedList java.util.ArrayList 线程安全的List java.util.Vector java.util.Stack (Vector的子类,对Vector进行了封装,只能进行先进后出的栈操作) java.util.Collections.SynchronizedList (Collections中的一个静态内部类) java.util.concurrent.CopyOnWriteA.原创 2021-11-25 00:34:28 · 3460 阅读 · 0 评论 -
重学Java并发编程 (为什么要使用不可变对象?)
文章目录线程不安全的例子线程安全性如何满足线程的安全性?什么是不可变对象?尝试改造之前的例子总结如何将一个类改造成不可变的类? 线程不安全的例子 举个例子,我们有一套监控系统,需要跟踪人员轨迹,如果离开某一个区域就会发生预警,这个例子中需要查询人员的最新信息,部分代码如下: TrackPoint是一个位置信息类,包含坐标变量X和Y,和更新位置时间戳 @NotThreadSafe public class TrackPoint { /** * 轨迹x坐标 */ pri原创 2021-11-21 23:09:14 · 691 阅读 · 6 评论 -
重学Java并发编程(Thread类)
文章目录重学Java并发编程(Thread类)如何使用Thread类创建一个线程线程的生命周期线程的命名什么是守护线程Thread常用API线程sleep线程interrupt线程join如果关闭一个线程? 重学Java并发编程(Thread类) 如何使用Thread类创建一个线程 Java中创建线程是使用Thread类来实现的,并且使用start方法来启动一个线程,我们先来看一下start方法的实现 /** * 使该线程开始执行,Java虚拟机将会调用此线程的run方法 * C原创 2021-11-20 20:48:16 · 666 阅读 · 10 评论