摘要: 线程池原理 一、组成 一般的线程池主要分为以下4个组成部分 线程池管理器:用于创建并管理线程池 工作线程:线程池中的线程 任务接口:每个任务必须实现的接口,用于工作线程调度其运行 任务队列:用于存放待处理的任务,提供一种缓冲机制 二、线程池的构造方法参数 corePoolSize:指定线程池中的线程 阅读全文
posted @ 2020-11-13 17:30 springcode 阅读(230) 评论(0) 推荐(0)
摘要: java锁的终极大整理 一、概述 java中是在是有太多太多的锁,相信很多人在面对某个锁的时候在概念上可能有些模糊,所以我才会写这边文章,梳理一下自己脑海里的概念,如果那哪里有疏漏,诸位请指出 二、分类 首先将锁分为概念上的锁、有具体实现类的锁、锁的底层原理锁、数据库锁 概念上的锁:悲观锁、乐观锁、 阅读全文
posted @ 2020-11-13 16:48 springcode 阅读(231) 评论(1) 推荐(2)
摘要: 数据库锁 1、行级锁 行级锁是一种排他锁,防止其他事务修改此行;在使用以下语句时,Oracle 会自动应用行级锁: 1. INSERT、UPDATE、DELETE、SELECT … FOR UPDATE [OF columns] [WAIT n | NOWAIT]; 2. SELECT … FOR 阅读全文
posted @ 2020-11-13 15:58 springcode 阅读(162) 评论(0) 推荐(0)
摘要: 锁的细分、重入锁、偏向锁等 一、重入锁 也叫递归锁,指的是同一线程外层函数获得锁之后,内层递归函数仍然有获取该锁的代码,但不受影响,lock和synchronized都是可重入锁。 public class Test implements Runnable{ public synchronized 阅读全文
posted @ 2020-11-13 15:55 springcode 阅读(588) 评论(0) 推荐(0)
摘要: 锁对比 一、公平锁与非公平锁 公平锁指的是锁的分配机制是公平的,通常是先到先得,RenntrantLock可以在构造函数中定义公平和非公平 非公平锁,随机、就近原则分配锁的机制,线程过来后会先自旋,尝试直接获取到锁,获取不到再去排队。非公平锁的效率要更高。 二、ReentrantLock和Synch 阅读全文
posted @ 2020-11-13 13:54 springcode 阅读(114) 评论(0) 推荐(0)