![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
hoji_James
这个作者很懒,什么都没留下…
展开
-
JUC(java.util.concurrent)学习笔记
1.Java JUC简介 多线程的目的 (1).提高效率。尽可能去利用cpu和系统资源。 (2).注意:如果多线程使用不当的话,不仅不能提高效率,反而性能会更低,因为多线程的开销实际上比线程要大,因为多线程涉及线程之间的调度,以及cpu上下文切换,以及线程的创建,销毁,线程同步等问题。而单线程不涉及这些问题 JUC包 JDK1.5以后,Java为我们提供了java.uti...原创 2018-06-08 15:42:29 · 560 阅读 · 0 评论 -
Java死锁及死锁的避免
锁是个非常有用的工具,运用场景非常多,因为它使用起来非常简单,而且易于理解。但同时它也会带来一些困扰,那就是可能会引起死锁,一旦产生死锁,就会造成系统功能不可用。 产生死锁的原因可能有: 1.系统资源不足 2.进行运行推进的顺序不合适 3.资源分配不当 如果系统资源充足,进程的资源请求都能得到满足,死锁出现的可能性就很低,否则就会因为争夺有限的资源而陷入死锁。其次,其次,进程运行推进顺序...原创 2018-06-08 20:40:51 · 549 阅读 · 0 评论 -
《实战Java高并发程序设计》读书笔记-线程池
一、概述 为了避免频繁地创建和销毁线程,我们可以让创建的线程进行复用。线程池中,总有那么几个活跃线程,当你需要使用线程时,可以从池子中随便拿一个空闲线程,当完成工作时,并不急着关闭线程,而是将这个线程退回到池子,方便其他人使用。简言之,在使用线程池后,创建线程变成了从线程池中获得空闲线程,关闭线程变成了向池子归还线程。如下图所示 二、JDK对线程池的支持 为了更好地控制更多线程,JDK...原创 2018-09-25 19:16:00 · 259 阅读 · 0 评论