文件名称:基于JDK源码解析Java领域中的并发锁之设计与实现.pdf
文件大小:12.66MB
文件格式:PDF
更新时间:2022-09-17 17:30:52
Java AQS 并发锁 java高并发api
在Java领域中, 尤其是在并发编程领域,对于多线程并发执行一直有两大核心问题:同步和互斥。其中: - 互斥(Mutual Exclusion):一个公共资源同一时刻只能被一个进程或线程使用,多个进程或线程不能同时使用公共资源。即就是同一时刻只允许一个线程访问共享资源的问题。 - 同步(Synchronization):两个或两个以上的进程或线程在运行过程中协同步调,按预定的先后次序运行。即就是线程之间如何通信、协作的问题。 针对对于这两大核心问题,利用管程是能够解决和实现的,因此可以说,管程是并发编程的万能钥匙。 虽然,Java在基于语法层面(synchronized 关键字)实现了对管程技术,但是从使用方式和性能上来说,内置锁(synchronized 关键字)的粒度相对过大,不支持超时和中断等问题。 为了弥补这些问题,从JDK层面对其“重复造*”,在JDK内部对其重新设计和定义,甚至实现了新的特性。