zoukankan      html  css  js  c++  java
  • synchronized关键字的学习与总结

    volatile的特性:

    1.可见性:可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值   :就是创业公司股东每次采购东西(副表)前都要问财务一下公司还有多少钱,财务:还有10万块,然后就去采购东西,采购完之后必须第一时间告诉财务报销(刷到主存),这样就可以保证每次采购后,每个股东都知道公司还有多少钱(可见性)。

    2没有原子性:大白话:就是创业公司股东每次采购东西(副表)前都要问财务一下公司还有多少钱,财务:还有10万块,然后就去采购东西,具体采购多少钱要股东回来财务才知道(刷到主存),假如一个股东还没有采购回来就有另一个股东又去采购东西了,问财务还有多少钱,财务:还有10万,假如两股东都采购了3万,这样就会导致数据不安全

    synchronized的特性

    1.可见性:

    2.原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行 大白话:财务跟各个股东说,你们每次只能一个人出去采购,采购完报销了,其他股东再去购买(阻塞),不要中间有其他人也去采购。

  • 相关阅读:
    OpenJudge 2738 浮点数加法
    OpenJudge 2809 计算2的N次方
    OpenJudge / Poj 1003 Hangover
    OpenJudge 2706 麦森数
    模板:大整数除法
    OpenJudge 2737 大整数除法
    模板:大整数减法
    ES Field Collapsing 字段折叠使用详解
    ES aggregation详解
    一个一站式流式处理云平台解决方案
  • 原文地址:https://www.cnblogs.com/imfjj/p/10403649.html
Copyright © 2011-2022 走看看