会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
程序员三藏
学习是一生的功课,有始有终
博客园
首页
新随笔
联系
管理
上一页
1
2
3
4
5
6
7
8
9
···
28
下一页
2020年3月24日
AQS之独占锁实现原理
摘要: 一:AQS概念 AQS是java.util.concurrent包的一个同步器,它实现了锁的基本抽象功能,支持独占锁与共享锁两张方式, 独占锁:同一时刻只允许一个线程方法加锁资源,例如:ReentrantLock 共享锁:同一时刻允许多个线程方法资源,例如:countDownLatch 二:数据结构
阅读全文
posted @ 2020-03-24 11:36 程序员三藏
阅读(947)
评论(0)
推荐(0)
2020年3月20日
并发编程中常见的名词
摘要: 1:死锁 多个线程(至少2个)竞争多个(至少2个)独占资源时,例如:线程1 占有 资源a,同时又去申请资源b, 线程2占有资源b,同时又去申请a,这样线程1 和 2 就会出现死锁,如果没有外力的情况下,这种情况永远不会解开。 发生死锁必须具备的条件: a:独占资源 资源必须是互斥的,同一时刻只能有有
阅读全文
posted @ 2020-03-20 21:09 程序员三藏
阅读(173)
评论(0)
推荐(0)
2020年3月19日
git使用总结
摘要: git常用命令: 1:git clone url 从远程仓库拉取代码, url为远程仓库的地址 2:git branch -a 查看本地分支和远程分支 3:git checkout branchname 切换分支 4:git remote add branchname url 远程创建一个分支 br
阅读全文
posted @ 2020-03-19 14:49 程序员三藏
阅读(95)
评论(0)
推荐(0)
如何配置线程池
摘要: 一:cpu密集型任务与IO密集型任务 如果想合理的配置线程池,就需要了解我们任务的类型,是CPU密集型还是IO密集型, CPU 密集型任务主要时间花费在计算上面,内存、硬盘、网络占用的时间少于cpu本身计算的时间,这时应配置尽可能小的线程, 避免线程之间频繁的切换消耗资源,如配置 Ncpu+1 个线
阅读全文
posted @ 2020-03-19 14:08 程序员三藏
阅读(1088)
评论(0)
推荐(0)
学习BlockingQueue之PriorityBlockingQueue实现原理
摘要: 一:概念 PriorityBlockingQueue 是一个支持优先级的无界阻塞队列。默认情况下元素 采取自然顺序升序排列。也可以自定义类实现 compareTo()方法来指定元素排序 规则, 或者初始化 PriorityBlockingQueue 时,指定构造参数 Comparator 来对元素
阅读全文
posted @ 2020-03-19 11:18 程序员三藏
阅读(759)
评论(0)
推荐(0)
2020年3月18日
学习BlockingQueue之LinkedBlockingQueue实现原理
摘要: 一:概念 LinkedBlockingQueue是一个用链表实现的有界阻塞队列。此队列的默认和最大长度为 Integer.MAX_VALUE。此队列按照先进先出的原则对元素进行排序。 与ArrayBlockingQueue的异同: ArrayBlockingQueue: 必须设置长度容量 底层数组结
阅读全文
posted @ 2020-03-18 16:29 程序员三藏
阅读(3126)
评论(0)
推荐(1)
学习BlockingQueue之ArrayBlockingQueue实现原理
摘要: 一:对列的基本概念 1:对列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行 删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受 限制的线性表。 进行插入操作的端称为队尾,进行删除操作的端称为队头。 在队列中插入一个队列元素称为入队,从队列中删除一个
阅读全文
posted @ 2020-03-18 11:49 程序员三藏
阅读(776)
评论(0)
推荐(0)
2020年3月16日
学习ThreadLocal实现原理
摘要: ThreadLocal的思想是以空间换时间,而锁的思想是以时间换空间,threadLocal的实现就是讲成员变量的副本拷贝到自己的线程内部, 因为不同的线程之间是隔离的,所以可以通过这种方式实现线程安全。 先来看一个示例: /** * 分析ThreadLocal类的实现原理 * 我们解决线程安全问题
阅读全文
posted @ 2020-03-16 22:04 程序员三藏
阅读(267)
评论(0)
推荐(0)
2020年3月7日
多线程并发落库遇到的线程问题
摘要: 为了提供落库效率,项目组决定采用多线程并发落库,但是出了问题,数据一条没有落下来。 1:怀疑时mysql数据库发生了死锁 使用这个命令查看是否有表被锁住了,发现没有表被锁 2:于是查看线程池中的10条线程在做什么 使用jstack查看进程的堆栈信息 线程池的最大线程数和核心线程数配的都是10 ,队列
阅读全文
posted @ 2020-03-07 21:38 程序员三藏
阅读(589)
评论(0)
推荐(0)
学习Thread线程实现原理
摘要: 1:继承Thread类创建线程 现象:创建线程的第一种方式,继承Thread,重写run方法,如果直接调用run方法,则和调用普通方法一样,不会创建线程 结果显示是 main线程调用 如果调用start,是 Thread-0 调用 调用run方法,很简单,MyThread类继承Thread,重写了r
阅读全文
posted @ 2020-03-07 14:30 程序员三藏
阅读(1265)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
28
下一页
公告