游走的bit 2021-11-05 13:35
浏览 20
已结题

java AQS并发框架怎么保证共享变量的原子性、可见性和有序性的?

目前我所整理的知识点:
1、由于CPU高速缓存和主存之间隔离,导致共享变量在并发更新时,可能导致并发问题。
2、java的synchronized关键字,可以保证并发三性,目前并不清楚其实现机制,猜想可能是通过系统调用来保护的。
3、AQS本质上是通过java的LockSupport的park()和unpark(),以及一个队列结构来实现的。

问题:
AQS能够保证lock保护的代码块一定不会有并发问题,但代码块中的共享变量,是如何保证并发三性的?难道LockSupport有和Synchronized相同的效果吗?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月13日
    • 修改了问题 11月5日
    • 创建了问题 11月5日

    悬赏问题

    • ¥15 java 的protected权限 ,问题在注释里
    • ¥15 这个是哪里有问题啊?
    • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
    • ¥15 texstudio的问题,
    • ¥15 spaceclaim模型变灰色
    • ¥15 求一份华为esight平台V300R009C00SPC200这个型号的api接口文档
    • ¥15 就很莫名其妙,本来正常的Excel,突然变成了这种一格一页
    • ¥15 字符串比较代码的漏洞
    • ¥15 欧拉系统opt目录空间使用100%
    • ¥15 ul做导航栏格式不对怎么改?