zoukankan      html  css  js  c++  java
  • Java线程——Java内存模型理解(一)

    随笔目录

    1. Java内存模型定义
    2. 并发编程线程通信与同步

     Java内存模型定义

    • 定义:Java内存模型(JMM)是一个规范,主要规定了以下两点
      • 规定了一个线程如何以及何时可以看到其他线程修改过后的共享数据,即线程之间共享变量的可见性
      • 规定了如何在需要的时候对共享变量进行同步

    并发编程线程通信与同步

    • 定义:线程通信是指线程之间以何种机制来交换信息,在命令式的编程中,线程之间的通信机制有两种:共享内存和消息传递。
    • 共享内存
      • 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过读-写内存中的公告状态来隐式进行通信。典型的共享内存通信方式就是通过共享对象进行通讯。
      • 在共享内存的并发模型里,同步是显示进行的,程序员必须显示指定某个方法或者某段代码需要在线程之间互斥进行
    • 消息传递
      • 在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的发送消息来显示进行通信,在java中典型的消息传递方式就是wait()和notify()。
      • 在消息传递的并发模型里,由于消息的发送必须咋消息接收之前,因此同步是隐式进行的。
  • 相关阅读:
    hihocoder 1049 后序遍历
    hihocoder 1310 岛屿
    Leetcode 63. Unique Paths II
    Leetcode 62. Unique Paths
    Leetcode 70. Climbing Stairs
    poj 3544 Journey with Pigs
    Leetcode 338. Counting Bits
    Leetcode 136. Single Number
    Leetcode 342. Power of Four
    Leetcode 299. Bulls and Cows
  • 原文地址:https://www.cnblogs.com/zuiyue_jing/p/13385692.html
Copyright © 2011-2022 走看看