-
ThreadLocal
一、ThreadLocal应用 作用: 解决线程安全性问题。 常用方法: set() 在当前线程范围内,设置一个值存储到ThreadLocal中,这个值仅对当前线程可见。相当于在当前线程范围内建立
-
并发编程之通信
一、线程通信方式 共享内存 基于某个条件来等待或者唤醒:WaitNotify、join、Condition 二、WaitNotify 2.1 生产者消费者案例 生产者 import java.util.Queue;public clas
-
并发编程之通信
一、线程通信方式 共享内存 基于某个条件来等待或者唤醒:WaitNotify、join、Condition 二、WaitNotify 2.1 生产者消费者案例 生产者 import java.util.Queue;public clas
-
Java创建和使用线程的四种方式
多线程 创建线程的方式 继承Thread类 public static void main(String[] args) {SellTicket sellTicketnew SellTicket();sellTicket
-
ReentrantLock实现原理分析
一、锁设计猜想 1.1 设计目的 满足线程的互斥特性 意味着同一个时刻,只允许一个线程进入到加锁的代码中。多线程环境下,线程的顺序访问。 1.2 设计过程猜想 一定会涉及到锁的抢占
-
ReentrantLock实现原理分析
一、锁设计猜想 1.1 设计目的 满足线程的互斥特性 意味着同一个时刻,只允许一个线程进入到加锁的代码中。多线程环境下,线程的顺序访问。 1.2 设计过程猜想 一定会涉及到锁的抢占
-
[Java并发编程-5] 多线程锁
文章目录 多线程锁的八种情况公平锁和非公平锁可重入锁死锁多线程锁的八种情况 先举个常见的栗子: 一个手机类, 有发送短信(sendSMS)和发送邮件(sendEmail)的同步方法, 以及发送hello的异步方法(sendHello
-
《Java 并发编程》共享模型之管程
《Java 并发编程》共享模型之管程 1. 共享带来的问题1.1 临界区1.2 竞态条件2. synchronized 解决方案2.1 synchronized 语法2.2 synchronized 加在方法上3. 变量的线程安全分
-
synchronized使用方式
文章目录 锁普通方法错误测试输出结果现象分析正确测试输出结果现象分析解析结论 锁普通方法 错误测试 线程类 import java.util.Random;public class MyThread implem
-
synchronized使用方式
文章目录 锁普通方法错误测试输出结果现象分析正确测试输出结果现象分析解析结论 锁普通方法 错误测试 线程类 import java.util.Random;public class MyThread implem
-
[Java并发编程-4] 集合的线程安全及其解决方法
文章目录 问题说明List集合三种解决方案VectorCollectionsCopyOnWriteArrayList Set集合的解决方法问题说明 jdk中修改集合(如List, Set等)的方法都没有使用synchronize关键
-
[Java并发编程-5] 多线程锁
文章目录 多线程锁的八种情况公平锁和非公平锁可重入锁死锁多线程锁的八种情况 先举个常见的栗子: 一个手机类, 有发送短信(sendSMS)和发送邮件(sendEmail)的同步方法, 以及发送hello的异步方法(sendHello