![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC
文章平均质量分 87
稚白
这个作者很懒,什么都没留下…
展开
-
JUC 原理:二
一段时间后,Thread-4 释放了 permits, 状态如下。就像是获得了停车位,然后停车场显示空余车位减一。就好像停车位数量,当线程获得了。接下来的 Thread-3。在尝试不成功后再次进入。队列 park 阻塞。原创 2024-04-26 08:26:47 · 184 阅读 · 0 评论 -
Java并发编程:三
/ 1. 任务队列// 2. 锁,防止多个线程同时争抢一个任务// 3. 生产者条件变量// 4. 消费者条件变量// 5. 容量// 带超时时间的阻塞获取try {try {// 返回值是 最大等待时间 - 已等待时间 = 剩余时间// 防止虚假唤醒后继续重复等待。等够总时间后就会返回 nullreturn t;// 阻塞获取try {try {return t;// 阻塞添加try {try {原创 2023-11-05 16:21:42 · 98 阅读 · 0 评论 -
Java并发编程:二
Unsafe对象提供了非常底层的,操作内存、线程的方法,Unsafe对象不能直接调用,只能通过反射获得。原创 2023-10-16 13:11:56 · 79 阅读 · 0 评论 -
JUC-原理:一
Monitor被翻译为或每个Java对象都可以关联一个Monitor对象,如果使用给对象上锁(重量级)之后,该对象头的Mark Word 中就被设置指向Monitor对象的指针Monitor结构如下刚开始Monitor中Owner为null当Thread-2执行就会将Monitor的所有者Owner置为Thread-2Monitor中只能有一个Owner在Thread-2上锁的过程中,如果Thread-3Thread-4Thread-5。原创 2023-10-10 16:09:36 · 63 阅读 · 0 评论 -
JUC-模式
在一个线程T1中如何优雅终止线程T2?这里的【优雅】指的是给T2一个料理后事的机会。原创 2023-10-08 16:34:20 · 34 阅读 · 0 评论 -
Java并发编程:一
程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO的当一个程序被运行,,这时就开启了一个进程。进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器等),也有的程序只能启动一个实例进程(例如网易云音乐、360安全卫士等)线程一个进程之内可以分为一到多个线程。一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给。原创 2023-10-11 15:54:01 · 97 阅读 · 0 评论