Skip to content

Update java-concurrent-questions-03.md#2081

Merged
Snailclimb merged 1 commit intoSnailclimb:mainfrom
OSrange:patch-1
Jul 16, 2023
Merged

Update java-concurrent-questions-03.md#2081
Snailclimb merged 1 commit intoSnailclimb:mainfrom
OSrange:patch-1

Conversation

@OSrange
Copy link
Copy Markdown
Contributor

@OSrange OSrange commented Jul 15, 2023

前面都说了await()是阻塞了,线程不是cas自旋等待state为0,而是阻塞依赖任务线程调用releaseShared()来唤醒,只有当最后一个线程releaseShared()使state为0,再唤醒主线程,主线程检测到state为0,才会从await()返回。以下为测试源码: 运行案例与源码分析:https://blog.csdn.net/m0_56602092/article/details/131740816

前面都说了await()是阻塞了,线程不是cas自旋等待state为0,而是阻塞依赖任务线程调用releaseShared()来唤醒,只有当最后一个线程releaseShared()使state为0,再唤醒主线程,主线程检测到state为0,才会从await()返回。以下为测试源码:
运行案例与源码分析:https://blog.csdn.net/m0_56602092/article/details/131740816
@Snailclimb Snailclimb merged commit b672502 into Snailclimb:main Jul 16, 2023
@Snailclimb Snailclimb added the doc-bug Content error label Jul 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-bug Content error

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants