跳至主要內容

JUC简介

wangdx大约 2 分钟

JUC 简介

  • Java 并发编程(J.U.C),本质上来讲就属于多线程的一种更加设计结构合理的开发框架,例如:Java 类集是对数据结构的一种开发框架、JavalO 是对操作系统底层支持的一种开发框架,所以 JDK 本身也是会提供有开发框架支持的。

  • 实际上在之前讲解 Java 基础课程的时候已经明确的学习过了多线程的开发机制,但是为什么现在还要去整一个 JUC(java.util.concurrent,包名称给出的三个首字母的缩写),J.U.C 的提供是为了解决并发编程开发过程之中的性能以及稳定性的设计问题,例如:在传统的多线程开发里面你一定可以想到如下的几个机制:

    • 如果要想定义线程的主体操作类需要使用 Runnable 或者是 Callable 接口;
    • 如果要想进行数据的同步处理,那么就需要使用到 synchronized 关键字,这个关键字可以实现同步代码块的定义或者是同步方法的定义,但是性能很差;
    • 如果要想快速的实现变量内容的更新处理,要使用 volatile 关键字;
    • 如果要想实现等待与唤醒机制,则需要通过 Object 类所提供的 wait()、notify()、notifyall();
    • 所有的操作全部都加在一起了,也无法有效的避免死锁之类的问题。
  • 所以多线程的开发是非常麻烦的,而且也是非常繁琐的,更是很多初学者的噩梦,如果你个人没有深入的去研究过 Java,那没有写过应用程序

  • J.U.C 属于一个重度多线程的编程的开发框架,在」U.C 里面提供了一套新的多线程处理的方案,并且这些方案都有其核心实现的理论,本质上就是:CAS、AQS,而这些在最终编程的时候你是无法感觉到 synchronized 存在的。

  • 1、工具类:java.util.concurrent,是直接可以供开发者使用的程序类,用这些类就可以直接实现线程处理;

  • 2、锁机制:多线程的开发之中牵扯到资源的部分都是存在于锁的概念的,而对于锁 J.U.C 给出了完整的新机制;

  • 3、原子操作类:直接提供了指定数据类型上的同步机制避免了在进行数据操作时通过方法实现同步的处理了。

demo


上次编辑于: