会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
猿起缘灭
生活中没有什么是有意义的,除非你给他一个意义
博客园
首页
新随笔
联系
订阅
管理
1
2
3
4
5
···
12
下一页
2020年9月16日
线程池原理分析(二)-ThreadPoolExecutor
摘要: 概述 上篇文章简单介绍了和线程池相关的类和接口,本文就详细介绍下其中一个类ThreadPoolExecutor,该类实现了线程池的功能,其基本原理就是使用一个HashSet集合存放Worker,Worker也实现了Runnable接口,重写了run方法,所以可认为这就是一个线程。如果设置线程池线程数
阅读全文
posted @ 2020-09-16 14:52 猿起缘灭
阅读(316)
评论(0)
推荐(0)
2020年9月15日
线程池原理分析(一)-线程池体系结构
摘要: 概述 随着摩尔定律失效,多核计算器成为主流,多线程提高执行效率就变得异常重要,而线程的创建销毁又是一个开销比较大的操作,于是就产生了线程池,把使用过的线程放入线程池中,重复利用,其思想就是这些,很简单,但是线程池的管理就没有那么简单了,首先要管理好多个线程,然后还要管理任务,所以整个事情就变得复杂起
阅读全文
posted @ 2020-09-15 18:30 猿起缘灭
阅读(599)
评论(0)
推荐(0)
2020年9月14日
LinkedBlockingQueue原理分析
摘要: 概述 LinkedBlockingQueue也是一个阻塞队列,相比于ArrayBlockingQueue,他的底层是使用链表实现的,而且是一个可有界可无界的队列,在生产和消费的时候使用了两把锁,提高并发,是一个高效的阻塞队列,下面就分析一下这个队列的源码。 属性 //链表节点定义 static cl
阅读全文
posted @ 2020-09-14 11:30 猿起缘灭
阅读(837)
评论(0)
推荐(0)
ArrayBlockingQueue原理分析(二)-迭代器
摘要: 概述 在上篇文章的结构图中可以看出,所有的队列最后都实现了Queue接口,而Queue继承了Collection接口,而Collection接口继承了Iterable,由于不同的集合会根据自己集合的特性实现自己的迭代器,那本文就分析一下ArrayBlockingQueue集合迭代器的实现方式,因为之
阅读全文
posted @ 2020-09-14 10:49 猿起缘灭
阅读(469)
评论(0)
推荐(0)
2020年9月13日
ArrayBlockingQueue原理分析(一)
摘要: 概述 ArrayBlockingQueue是一个阻塞队列,其实底层就是一个数组,说到底层是数组,ArrayList底层也是数组,那它其实也可以作为队列,但是是非阻塞的,那阻塞和非阻塞的区别是什么?区别在于当队列中没有元素的时候就阻塞等待,直到队列中有数据再消费,而如果队列满了之后(队列有界),生产者
阅读全文
posted @ 2020-09-13 00:06 猿起缘灭
阅读(839)
评论(0)
推荐(0)
2020年9月11日
ConcurrentHashMap原理分析(三)-计数
摘要: 概述 由于ConcurrentHashMap是一个高并发的集合,集合中增删就比较频繁,那计数就变成了一个问题,如果使用像AtomicInteger这样类型的变量来计数,虽然可以保证原子性,但是太多线程去竞争CAS,自旋也挺浪费时间的,所以ConcurrentHashMap使用了一种类似LongAdd
阅读全文
posted @ 2020-09-11 19:11 猿起缘灭
阅读(1996)
评论(1)
推荐(0)
ConcurrentHashMap原理分析(二)-扩容
摘要: 概述 在上一篇文章中介绍了ConcurrentHashMap的存储结构,以及put和get方法,那本篇文章就介绍一下其扩容原理。其实说到扩容,无非就是新建一个数组,然后把旧的数组中的数据拷贝到新的数组中,在HashMap的实现中,由于没有加锁,可能会同时有多个线程创建了多个数组,而且拷贝的时候也没有
阅读全文
posted @ 2020-09-11 16:10 猿起缘灭
阅读(1918)
评论(1)
推荐(2)
ConcurrentHashMap原理分析(一)-综述
摘要: 概述 ConcurrentHashMap,一个线程安全的高性能集合,存储结构和HashMap一样,都是采用数组进行分桶,之后再每个桶中挂一个链表,当链表长度大于8的时候转为红黑树,其实现线程安全的基本原理是采用CAS + synchronized组合,当数组的桶中没有元素时采用CAS插入,相反,则采
阅读全文
posted @ 2020-09-11 11:57 猿起缘灭
阅读(548)
评论(0)
推荐(0)
2020年9月9日
CyclicBarrier原理分析
摘要: 概述 CyclicBarrier,一个同步辅助类,其作用是让一组线程到达公共屏障点时阻塞,直到最后一个线程也到达公共屏障点,屏障才会打开,而且该屏障(barrier)在这一组线程释放后可以重用,所以称为循环(Cyclic)的屏障(Barrier)。看功能和CountDownLatch一样,但是两者的
阅读全文
posted @ 2020-09-09 15:21 猿起缘灭
阅读(585)
评论(0)
推荐(0)
ThreadLocal原理分析
摘要: 概述 ThreadLocal是面试非常高频的问题,在很多框架源码中都可以看到他的身影,比如Spring,ReentrantReadWriteLock,然后在平时的工作使用的却并不多,ThreadLocal要解决并不是多线程修改共享变量保证线程安全的问题,这个是通过悲观锁(比如synchronized
阅读全文
posted @ 2020-09-09 09:47 猿起缘灭
阅读(355)
评论(0)
推荐(0)
1
2
3
4
5
···
12
下一页
公告