01 2024 档案

摘要:线程基础 线程状态 初始,可运行(分为拿到了 cpu 资源或者等待 cpu 时间片对应于操作系统的运行和就绪态),阻塞(等待获取锁资源),无限等待(等待其它线程显式地唤醒,否则不会被分配 CPU 时间片),有限等待(超时自动唤醒),终止 关于线程等待 Thread.sleep(time)常用一个线程 阅读全文
posted @ 2024-01-03 16:46 EnkiZhang 阅读(34) 评论(0) 推荐(0)
摘要:Synchronized 什么是 Synchronized:这是 Java 控制多线程访问共享资源的一种方式,是线程之间通信的一种方式。 什么同步代码块:同步代码块用于阻止多个线程同时对同一方法中的部分代码进行访问。 理解起来,可以看成同步代码块相当于一个保护共享资源的一块区域,这个区域需要有特定身 阅读全文
posted @ 2024-01-03 15:39 EnkiZhang 阅读(35) 评论(0) 推荐(0)
摘要:ReentrantLock 学习 ReentrantLock 最特别的点在于他的可重入特性,允许同一个线程多次获得同一个锁,而不被阻塞。 内部维护了表示锁占用状态的 state 变量,当同一个线程来获取锁时,state 会+1 并继续获得锁,以此达到锁可重入效果,同时若获取失败进入到 CLH 队列中 阅读全文
posted @ 2024-01-02 22:12 EnkiZhang 阅读(33) 评论(0) 推荐(0)
摘要:JUC 源码阅读 JUC 指的是 Java Util Concurrency,即 Java 工具包下的并发工具类库(Java Util Concurrency Utilities)。JUC 提供了一系列用于并发编程的工具类、接口和工具方法,帮助开发者更容易地实现多线程程序,并提供了更高级别、更灵活、 阅读全文
posted @ 2024-01-02 20:22 EnkiZhang 阅读(168) 评论(0) 推荐(0)