zoukankan      html  css  js  c++  java
  • 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


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

  • 相关阅读:
    jquery选择器中逗号的使用
    超大文件上传和断点续传的代码
    超大文件上传和断点续传的源代码
    超大文件上传和断点续传的源码
    超大文件上传和断点续传的控件
    超大文件上传和断点续传的插件
    杨辉三角
    pkg-config的用法
    c++类的实例化,有没有new的区别
    正则表达式中元字符
  • 原文地址:https://www.cnblogs.com/tiecheng/p/6007701.html
Copyright © 2011-2022 走看看