JUC
文章平均质量分 74
阿弥陀佛僧
知幻即离,不假方便;离幻即觉,亦无渐次。
展开
-
JUC02——Lock接口
一、Synchronized 虽然可以使用 synchronized 来定义方法,但 synchronized 并不属于方法定义的一部分,也就是说,synchronized 关键字不能被继承。如果在父类中的某个方法使用了 synchronized 关键字,而在子类中覆盖了这个方法,在子类中的这个方法默认情况下并不是同步的,而必须显式地在子类的这个方法中加上 synchronized 关键字才可以。当然,还可以在子类方法中调用父类中相应的方法,这样虽然子类中的方法不是同步的,但子类调用了父类的同步方法,因此原创 2021-10-14 14:59:16 · 212 阅读 · 0 评论 -
JUC01——进程和线程
一、进程和线程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。 线程(thread) 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际原创 2021-10-12 15:34:37 · 6345 阅读 · 0 评论 -
JUC04——CompletableFuture
CompletableFuture 在 Java 里面被用于异步编程,异步通常意味着非阻塞,可以使得我们的任务单独运行在与主线程分离的其他线程中,并且通过回调可以在主线程中得到异步任务的执行状态,是否完成,和是否异常等信息。 CompletableFuture 实现了 Future,CompletionStage 接口,实现了 Future 接口就可以兼容现在有线程池框架,而 CompletionStage 接口才是异步编程的接口抽象,里面定义多种异步方法,通过这两者集合,从而打造出了强大的 Compl原创 2021-12-14 20:26:19 · 97 阅读 · 0 评论 -
JUC03——阻塞队列
一、ArrayBlockingQueue 基于数组的阻塞队列实现,在 ArrayBlockingQueue 内部,维护了一个定长数组,以便缓存队列中的数据对象,这是一个常用的阻塞队列,除了一个定长数组外,ArrayBlockingQueue 内部还保存着两个整形变量,分别标识着队列的头部和尾部在数组中的位置。 ArrayBlockingQueue 在生产者放入数据和消费者获取数据时是共用的同一个锁对象,由此也意味着两者无法真正并行运行,这点尤其不同于LinkedBlockingQueue;按照实现原理来原创 2021-12-13 11:21:42 · 458 阅读 · 0 评论