• Java源码之 java.util.concurrent 学习笔记01


    准备花点时间看看 java.util.concurrent这个包的源代码,来提高自己对Java的认识,努力~~~

    参阅了@梧留柒的博客!边看源码,边通过前辈的博客学习!

    包下的代码结构分类:

    1.java.util.concurrent.atomic,正如它的英文意思一样,是一个线程安全、原子操作相关的包 

    另一个专门为线程安全设计的Java包,包含多个原子操作类。这个包里面提供了一组原子变量类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个另一个线程进入,这只是一种逻辑上的理解。实际上是借助硬件的相关指令来实现的,不会阻塞线程(或者说只是在硬件级别上阻塞了)。可以对基本数据、数组中的基本数据、对类中的基本数据进行操作。原子变量类相当于一种泛化的volatile变量,能够支持原子的和有条件的读-改-写操作。——  引自@chenzehe的博客

    另外附加@终点 关于java.util.concurrent.atomic的文章。

    2.java.util.concurrent.lock,它是一个锁相关的包

    3.并发容器,一些集合相关的和队列相关的类

      如:ConcurrentHashMap、ConcurrentLinkedDeque

    4.执行器和线程池

    如:ScheduledThreadPoolExecutor、Callable。这个我之前有简单用到过。

    5.剩下暂时都归类到其它,体会了再讨论

    如:CountDownLatch、Phaser、ForkJoinPool


    暂时就这么分,后面一块一块的源码学习下去,记录下学习的过程和一些心得体会,和大家一起分享进步!

  • 相关阅读:
    luogu 3158 [CQOI2011]放棋子
    bzoj 1455 罗马游戏
    luogu 1587 [NOI2016]循环之美
    可供出售的金融资产的交易费用计入初始成本
    交易性金融资产 其他债权投资 债权投资
    win10开始菜单图标损坏修复
    电脑账户无“改用Microsoft账户登录”
    发货通知单明细调整
    背书(财务、会计)
    列表不显示明细
  • 原文地址:https://www.cnblogs.com/tiecheng/p/6007701.html
Copyright © 2020-2023  润新知