并发
java 并发笔记
风萧水丶寒
Stay hungry Stay foolish
展开
-
从源码分析ThreadLocal的原理
本文参考并摘抄自java基础教程由浅入深全面解析threadlocal总结:1. 线程并发:在多线程并发的场景下2. 传递数据:我们可以通过ThreadLocal在同一线程,不同组件中传递公共变量3. 线程隔离:每一个线程的变量都是独立的,不会相互影响基本使用package com.fxsh.ThreadLocal;import lombok.extern.slf4j.Slf4j;/* * 需求:线程隔离 * 在多线程并发的场景下,每个线程中的变.原创 2020-07-15 12:15:57 · 211 阅读 · 0 评论 -
使用两阶段终止模型优雅的中断线程
public class StopGenteelly { public static void main(String[] args) throws InterruptedException { TwoPhaseTermination tpt = new TwoPhaseTermination(); tpt.start(); Thread.sleep(100); tpt.stop(); }}class TwoPhaseTe原创 2020-07-04 08:09:33 · 181 阅读 · 0 评论 -
Java并发中偏向锁、轻量级锁和重量级锁的原理
重量级锁Java的对象头中的MarkWord32位操作系统:64位操作系统:Monitor当使用synchronized获得锁时:synchronized(obj){//重量级锁 //临界区代码}obj对象的MarkWord中的指针(ptr_to_heavyweight_monitor)指向一个 OS提供的 Monitor对象Monitor中的Owner记录谁是这个锁的主人。当另一个对象也要获取obj锁时:发现obj所指向的Monitor的所有者为Thread原创 2020-07-04 07:58:02 · 566 阅读 · 1 评论