摘要: 转载:https://www.cnblogs.com/yufeng218/p/13028549.html 多线程编程中,有可能会出现多个线程同时访问同一个共享、可变资源的情况;这种资源可能是:对象、变量、文件等。 由于线程执行的过程是不可控的,所以需要采用同步机制来协同对对象可变状态的访问,那么我们 阅读全文
posted @ 2022-08-03 19:17 Mars.wang 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 转载:https://www.jianshu.com/p/279baac48960 参考:https://www.cnblogs.com/yufeng218/p/13090453.html 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQue 阅读全文
posted @ 2022-08-03 19:04 Mars.wang 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 前几天看到一个面试题目:有一个长度为2000的字符串,开三个线程去判断字符串中”u51”的个数。 当时看到这个题目的时候,对并发编程是没有什么经验的,在实际项目多线程的应用也只有一两次。最近在恶补《Java并发编程的艺术》,对这个题目就有了解题的思路了。在这里记录一下对该题的解法和思路。 一开始的时 阅读全文
posted @ 2022-08-03 17:30 Mars.wang 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 在上一篇博客中,我简单的介绍了对Condition和ReentrantLock的使用,但是想要更好的掌握多线程编程,单单会用是不够的。这篇我会针对Condition方法中的await和signal的实现原理来梳理一下我的理解。 首先我们需要了解同步队列和等待队列的概念。简单的理解是同步队列存放着竞争 阅读全文
posted @ 2022-08-03 17:08 Mars.wang 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 转载:https://blog.csdn.net/saintyyu/article/details/107426428 说明:本篇博客整理自文末的多篇参考博客(每篇博客各有侧重)。本文结合源码对Unsafe的park和unpark方法进行了完整全面的梳理,并对部分参考博客中存在的错误描述进行说明。 阅读全文
posted @ 2022-08-03 13:49 Mars.wang 阅读(128) 评论(0) 推荐(0) 编辑