Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
沉默王二
Jmx Java
提交
17a1aebc
J
Jmx Java
项目概览
沉默王二
/
Jmx Java
大约 1 年 前同步成功
通知
160
Star
18
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
Jmx Java
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
17a1aebc
编写于
8月 21, 2023
作者:
沉默王二
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
并发容器
上级
3c4752e7
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
8 addition
and
8 deletion
+8
-8
README.md
README.md
+4
-4
docs/thread/BlockingQueue.md
docs/thread/BlockingQueue.md
+1
-1
docs/thread/ConcurrentHashMap.md
docs/thread/ConcurrentHashMap.md
+1
-1
docs/thread/ConcurrentLinkedQueue.md
docs/thread/ConcurrentLinkedQueue.md
+1
-1
docs/thread/CopyOnWriteArrayList.md
docs/thread/CopyOnWriteArrayList.md
+1
-1
未找到文件。
README.md
浏览文件 @
17a1aebc
...
...
@@ -262,10 +262,10 @@
-
[
协作类Condition
](
docs/thread/condition.md
)
-
[
线程阻塞唤醒类LockSupport
](
docs/thread/LockSupport.md
)
-
[
Java的并发容器
](
docs/thread/map.md
)
-
[
ConcurrentHashMap
](
docs/thread/ConcurrentHashMap.md
)
-
[
ConcurrentLinkedQueue
](
docs/thread/ConcurrentLinkedQueue.md
)
-
[
BlockingQueue
](
docs/thread/BlockingQueue.md
)
-
[
吊打Java并发面试官之
CopyOnWriteArrayList
](
docs/thread/CopyOnWriteArrayList.md
)
-
[
并发容器
ConcurrentHashMap
](
docs/thread/ConcurrentHashMap.md
)
-
[
非阻塞性队列
ConcurrentLinkedQueue
](
docs/thread/ConcurrentLinkedQueue.md
)
-
[
阻塞队列
BlockingQueue
](
docs/thread/BlockingQueue.md
)
-
[
并发容器
CopyOnWriteArrayList
](
docs/thread/CopyOnWriteArrayList.md
)
-
[
吊打Java并发面试官之ThreadLocal
](
docs/thread/ThreadLocal.md
)
-
[
面试必备:Java线程池
](
docs/thread/pool.md
)
-
[
为什么阿里巴巴要禁用Executors创建线程池?
](
docs/thread/ali-executors.md
)
...
...
docs/thread/BlockingQueue.md
浏览文件 @
17a1aebc
...
...
@@ -12,7 +12,7 @@ head:
content
:
Java,并发编程,多线程,Thread,BlockingQueue
---
# 14.22 BlockingQueue
# 14.22
阻塞队列
BlockingQueue
BlockingQueue 是 Java 中的一个接口,它代表了一个线程安全的队列,不仅可以由多个线程并发访问,还添加了等待/通知机制,以便在队列为空时阻塞获取元素的线程,直到队列变得可用,或者在队列满时阻塞插入元素的线程,直到队列变得可用。
...
...
docs/thread/ConcurrentHashMap.md
浏览文件 @
17a1aebc
...
...
@@ -12,7 +12,7 @@ head:
content
:
Java,并发编程,多线程,Thread,ConcurrentHashMap
---
# 14.20 ConcurrentHashMap
# 14.20
并发容器
ConcurrentHashMap
[
HashMap
](
https://javabetter.cn/collection/hashmap.html
)
在多线程环境下扩容会出现 CPU 接近 100% 的情况,因为 HashMap 并不是线程安全的,我们可以通过 Collections 的
`Map<K,V> synchronizedMap(Map<K,V> m)`
将 HashMap 包装成一个线程安全的 map。
...
...
docs/thread/ConcurrentLinkedQueue.md
浏览文件 @
17a1aebc
...
...
@@ -12,7 +12,7 @@ head:
content
:
Java,并发编程,多线程,Thread,ConcurrentLinkedQueue
---
# 14.21 ConcurrentLinkedQueue
# 14.21
非阻塞性队列
ConcurrentLinkedQueue
ConcurrentLinkedQueue 是
`java.util.concurrent`
(JUC) 包下的一个线程安全的队列实现。基于非阻塞算法(Michael-Scott 非阻塞算法的一种变体),这意味着 ConcurrentLinkedQueue 不再使用传统的锁机制来保护数据安全,而是依靠底层原子的操作(如
[
CAS
](
https://javabetter.cn/thread/cas.html
)
)来实现。
...
...
docs/thread/CopyOnWriteArrayList.md
浏览文件 @
17a1aebc
...
...
@@ -12,7 +12,7 @@ head:
content
:
Java,并发编程,多线程,Thread,CopyOnWriteArrayList
---
#
# CopyOnWriteArrayList的简介
#
14.23 并发容器 CopyOnWriteArrayList
java学习者都清楚ArrayList并不是线程安全的,在读线程在读取ArrayList的时候如果有写线程在写数据的时候,基于fast-fail机制,会抛出
**ConcurrentModificationException**
异常,也就是说ArrayList并不是一个线程安全的容器,当然您可以用Vector,或者使用Collections的静态方法将ArrayList包装成一个线程安全的类,但是这些方式都是采用java关键字synchronzied对方法进行修饰,利用独占式锁来保证线程安全的。但是,由于独占式锁在同一时刻只有一个线程能够获取到对象监视器,很显然这种方式效率并不是太高。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录