
java
文章平均质量分 93
C_G_Hui
学习学习.......
展开
-
线程池ThreadPoolExecutor核心方法execute()原理源码分析
线程池ThreadPoolExecutor核心方法execute()原理源码分析首先了解个基本知识:线程只能启动一次,重复启动会报异常,下面会用到这个知识点注:为了显示行号,所以一下源码均以图片展示1. 构造方法首先解释一下各个参数:①corePoolSize:核心线程数②maximumPoolSize:最大线程数(最大线程数只限制了下限,没有限制上限,但是上限也有限制并不能达到Integer.MAX_VALUE,下文分析),通过该下限限制可以发现最大线程最少有1个③keepAliveTi原创 2021-01-22 14:13:57 · 1446 阅读 · 0 评论 -
ReentrantLock可重入锁源码原理详解
ReentrantLock可重入锁源码原理详解背景介绍 AbstractQueuedSynchronizer是Doug Lea在JDK1.5的时候加入的一个同步框架,也被简称为AQS,该框架主要维护了被竞争资源的状态,和获取到资源的线程(通过AbstractOwnableSynchronizer来维护)以及未获取到资源的线程的管理,AQS主要通过volatile的内存可见性和CAS来实现。具体的竞争资源的方式(公平、非公平)由子类实现,Doug Lea在引入该框架时提供了一系列已经实现好的子类,比如:原创 2020-09-19 19:29:53 · 910 阅读 · 2 评论 -
BIO与NIO以及零拷贝(zero copy)
本篇博客主要讲述BIO、NIO的网络模型以及零拷贝BIO(Blocking IO)阻塞式IOBIO网络模型代码server端:public class BIOServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket=new Serv...原创 2020-04-15 18:59:31 · 726 阅读 · 0 评论