zoukankan      html  css  js  c++  java
  • java架构师学习路线-并发编程的概念

    图灵学院 java架构师学习路线

    前段时间有个并发编程的问题曾一度困扰着我,后来就通过上网找资料发现并发编程原来是这样,Java并发编程常说的,在实际开发中需要经常注意的两个概念:可见性、有序性,下面我将为大家一一道来并发编程的两个概念。

    1、可见性 
          可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。

    并发编程.png 

    当多个线程操作一个普通的共享变量时,其中某个线程操作的原理是这样的,首先从主内存中读取这个变量到自己的工作内存,在工作内存中修改以后保留变量的副本,在写入到主内存。但是普通变量不存在可见性,当修改新值以后,什么时候写入主内存是不一定的,当其他线程读取的时候,读取的可能还是旧值。 

    2、有序性 

    有序性,即程序的执行顺序按照代码的先后顺序来执行;在java内存模型中,编译器和处理器允许对指令进行重排序,在单线程下不会出问题,但是多线程下会有问题,实现有序性的方法有synchronized或者Lock 、volatile(禁止指令重排序)。

    并发编程的概念讲解到此就告一段落了,但是学习之路却不应该被终止,一个人对事情的兴趣浓烈度,决定了他会在这件事情会多少功夫,如果遇到那些半途而废的人,不是说明他们对那件事情根本没有一点的兴趣,而是他没有足够的兴趣去做那件事情。

    尽管Java架构师学习路线已经分享给大家,但有多少人能认真的去践行,这个就难说了。互联网寒冬已经到来,作为程序员,更应在此时提高自己,有着更高远的追求。

    篇幅有限,如果需要更详细的java架构师学习路线资料可加博主qq:1993712276,或者去图灵官网查看

  • 相关阅读:
    组装query,query汇总,query字段
    POJ 1276, Cash Machine
    POJ 1129, Channel Allocation
    POJ 2531, Network Saboteur
    POJ 1837, Balance
    POJ 3278, Catch That Cow
    POJ 2676, Sudoku
    POJ 3126, Prime Path
    POJ 3414, Pots
    POJ 1426, Find The Multiple
  • 原文地址:https://www.cnblogs.com/tulingxueyuan/p/13360706.html
Copyright © 2011-2022 走看看