java多线程相关

今天看了一点java多线程的东西,学习了两个关键字。
第一个是 synchronized,字面上是同步的意思,用来修饰代码块,成员函数或者类。它的主要作用是保证多个线程情况下,只有一个线程可以执行当前的代码,确保线程操作的原子性,从而保证了线程安全。

第二个关键字是volatile,字面上看是灵活的,易变化的。它通常用来修饰变量,作用是当前的变量如果进行了赋值操作,则将该变量的更新直接同步到内存中而不是仅仅是当前线程的cache中。同时也会通知其他线程的cache中该变量地址无效,需要从内存中读取。这个背后的硬件机制保证了变量的变化对其他线程透明可见,符合多线程可见性的要求,某些场景下保证了线程安全。

了解了这两个关键字只是冰山一角,多线程的概念需要在实践中慢慢积累和加深理解。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 本篇文章介绍一些多线程的相关的深入概念。理解后对于线程的安全性会有更深的理解。 先说一个格言,摘自Java核...
    传奇内服号阅读 1,882评论 0 1
  • 1.1 并发与并行 并行:指两个或多个时间在同一时刻发生(同时发生)并发:值两个或多个时间在同一时间段内发生在操作...
    阿麽阅读 3,459评论 0 0
  • 线程基本知识 什么是线程安全性?当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么可以认为这个类是线程安...
    Cheava阅读 4,650评论 0 1
  • 第6章类文件结构 6.1 概述 6.2 无关性基石 6.3 Class类文件的结构 java虚拟机不和包括java...
    kennethan阅读 4,558评论 0 2
  • 圣经里说孩子是一个什么样的人呢? (罗3:10-12)就如经上所记:“没有义人,连一个也没有;没有明白的,没有寻求...
    蒲乐乐阅读 4,324评论 0 0

友情链接更多精彩内容