
线程
文章平均质量分 52
线程、线程池
风铃峰顶
个人项目经历请搜索:
http://www.haoranhaoshi.top/
展开
-
ThreadLocal实战和原理探索
Thread中有ThreadLocal的内部类ThreadLocalMap,里面维护一个Entry数组,Entry中存储ThreadLocal和对应值。p// 票和优惠券的支付、退款逻辑相同,只是不同的表,涉及表的方法,根据上下文存储的类型判断,直接读写不同的表,不需要改动上一层的方法传参。ThreadLocal可以存储线程的信息,在框架和实际生产中有关键的作用,需要熟练掌握用法和使用场景。// 读写支付优惠券的订单表、配置表、回调表、退款表。// 读写支付票的订单表、配置表、回调表、退款表。原创 2023-03-26 17:21:53 · 925 阅读 · 1 评论 -
全面解析Java线程按序打印
package thread;import org.junit.Test;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CountDownLatch;import java.util.concurrent.CyclicBarrier;import java.util.concurrent.Semaphore;import java.util.concurrent.atomic.At原创 2022-05-25 10:54:38 · 574 阅读 · 1 评论 -
Java ThreadLocal示例
/** * @Author: ZhangHao * @Description: ThreadLocal测试 * @Date: 2020/10/15 20:42 * @Version: 1.0 */public class ThreadLocalTest { /** * 非线程隔离式数据 */ int i = 0; @Test void test1(){ Thread[] threads = new Thread[5]; .原创 2020-10-15 21:10:29 · 153 阅读 · 0 评论 -
Java和操作系统层面的线程状态、造成状态的方法、监视器锁、BLOCKED和WAITING对比
Java层面线程状态、造成状态的方法:public enum State { /** * Thread state for a thread which has not yet started. (创建线程) */ NEW, // 新建 /** * Thread state for a runnable thread. A thread in the runnable * sta原创 2020-09-08 13:20:58 · 341 阅读 · 0 评论 -
深度解读 java 线程池设计思想及源码实现
我相信大家都看过很多的关于线程池的文章,基本上也是面试的时候必问的,如果你在看过很多文章以后,还是一知半解的,那希望这篇文章能让你真正的掌握好 Java 线程池。本文一大重点是源码解析,同时会有少量篇幅介绍线程池设计思想以及作者 Doug Lea 实现过程中的一些巧妙用法。本文还是会一行行关键代码进行分析,目的是为了让那些自己看源码不是很理解的同学可以得到参考。线程池是非常重要的工具,如果...转载 2019-05-09 21:07:09 · 185 阅读 · 0 评论 -
java的volatile理解
Java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取volatile类型的变量时总会返回最新写入的值。 在访问volatile变量时不会...转载 2019-05-12 15:49:02 · 158 阅读 · 0 评论 -
书记_《Java多线程编程核心技术》
第一章Thread类实现了Runnable接口。继承或扩展Thread类或者Thread类实例化时传入Runnable的实现或扩展来使用线程。 一个进程运行时至少有一个线程正在运行。public static void main(String[] args)由main线程执行。 一个线程执行start()多于一次,会报IllegalThreadStateException。start()通...原创 2019-08-20 16:04:03 · 266 阅读 · 0 评论