- 博客(4)
- 收藏
- 关注
原创 java并发编程读书摘要
一、基础概念了解 1、上下文切换:CPU通过时间片来循环执行任务,时间片用完会切换到下一个线程,但是会保存当前状态,任务从保存到再加载的过程就是一次上下文切换。 2、减少上下文切换的方式: 无锁并发编程:避免竞争锁造成的上下文切换 CAS算法:Compare and Swap,核心方法compareAndSetInt 使用最少线程:避免创建不必要的线程 ...
2018-04-28 15:31:32 222
原创 线程池监控——自定义线程池
如果在系统中大量使用线程池,则有必要对线程池进行监控,方便在出现问题时,可以根据线程池的使用状态快速定位问题。可以根据线程池提供的参数进行监控,常用属性如下: taskCount:线程池需要执行的任务数量 completedTaskCount:已完成的任务数量 largestPoolSize:线程池曾经创建过的最大线程数量,可以推测出是否达到corePoolSize和Ma...
2018-04-27 18:50:10 1887
原创 实战java高并发程序设计读书概要整理
一、要了解的基本概念 1、同步和异步:形容一次方法调用,同步要等待返回继续执行;异步调用不需等待返回就可以继续执行 2、并行和并发:多个任务一起执行,并行是同时执行;并发是交替执行也可能是串行执行 3、临界区:用来表示一种公共资源或共享数据,每次只能一个线程访问 4、阻塞和非阻塞:形容多线程之间的相互影响,阻塞是因为某个线程抢占了资源而导致其他线程被挂起,非阻塞则表示线程之...
2018-04-19 14:54:46 246
原创 无锁算法-CAS
要实现无锁(lock-free)的非阻塞算法有多种实现方法,其中CAS(Compare and Swap)是一种有名的无锁算法。 CAS(Compare and Swap),即比较并替换,实现并发算法时常用到的一种技术,是用乐观锁技术实现的一种无锁(lock-free)算法。当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的...
2018-04-19 14:43:33 1772 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人