多线程编程
梦在远方SM
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
通过AtomicReference实现一个锁类(CAS原理)
1.AtomicReference了解 AtomicReference类提供了一个可以原子读写的对象引用变量。 原子意味着尝试更改相同AtomicReference的多个线程(例如,使用比较和交换操作)不会使AtomicReference最终达到不一致的状态。 AtomicReference甚至有一个先进的compareAndSet()方法,它可以将引用与预期值(引用)进行比较,如果它们相等,则在AtomicReference对象内设置一个新的引用。 2. 通过AtomicReference实现..原创 2021-02-10 15:11:23 · 251 阅读 · 0 评论 -
《图解Java多线程设计模式》笔记 Guarded Suspension模式
Guarded Suspension模式–等我准备好哦。例如:快递员敲你家门,你还在衣衫不整的睡觉。你会大声应答到:等我准备好哦。此时快递员会一直在门外等你准备好。 Guarded是被守护、被保护的意思,Suspension是暂停的意思。这两个单词很好的阐述了该模式的特点。该模式是通过线程的等待来保证实例的安全性。 应用场景:一个线程ClientThread会将请求Request的实例通过...原创 2020-03-26 22:31:52 · 198 阅读 · 0 评论 -
《图解Java多线程设计模式》笔记 Immutable模式
Immutable模式—想破坏也破坏不了; String类中并没有修改字符串的方法,也就是说String实例一旦创建,字符串的内容就不会再被更改。 注意:以下并不是改变了字符串内容。 String name = "andy"; name="lucy"; System.out.println("my name is "+ name); 只是改变了name变量指向了另一个地址。并没有...原创 2020-03-16 22:37:07 · 144 阅读 · 0 评论 -
《图解Java多线程设计模式》笔记 Single Threaded Execution模式
Single Threaded Execution模式—每次能通过这座桥的只有一个人;原创 2020-03-13 22:15:57 · 187 阅读 · 0 评论 -
《图解Java多线程设计模式》笔记 序章
线程启动两种方式: 利用Thread的子类的实例启动线程; public class PrintThread extends Thread{ private String message; public PrintThread(String message){ this.message = message; } @Override public void run(...原创 2020-03-11 21:59:31 · 1347 阅读 · 0 评论