随笔分类 -  JUC

JUC
摘要:JUC学习笔记(九)线程池(英语:thread pool):一种线程使用模式。线程过多会带来调度开销, 进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。 阅读全文
posted @ 2021-08-19 16:35 Liming_Code 阅读(76) 评论(0) 推荐(0) 编辑
摘要:JUC学习笔记(八)Concurrent 包中,BlockingQueue 很好的解决了多线程中,如何高效安全 “传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建 高质量的多线程程序带来极大的便利。本文详细介绍了 BlockingQueue 家庭 中的所有成员,包括他们各自的功能以及常见使用场景。 阅读全文
posted @ 2021-08-19 11:41 Liming_Code 阅读(55) 评论(0) 推荐(0) 编辑
摘要:JUC学习笔记(七)现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。 阅读全文
posted @ 2021-08-16 11:41 Liming_Code 阅读(42) 评论(0) 推荐(0) 编辑
摘要:JUC 中提供了三种常用的辅助类,通过这些辅助类可以很好的解决线程数量过多时 Lock 锁的频繁操作。 阅读全文
posted @ 2021-08-10 16:03 Liming_Code 阅读(72) 评论(0) 推荐(0) 编辑
摘要:创建线程的方法-一种是通过创建 Thread 类,另一种是通过使用 Runnable 创建线程。但是,Runnable 缺少的一项功能是,当线程终止时(即 run()完成时),我们无法使线程返回结果。为了支持此功能,Java 中提供了 Callable 接口。 阅读全文
posted @ 2021-08-10 14:04 Liming_Code 阅读(79) 评论(0) 推荐(0) 编辑
摘要:Vector 是矢量队列,它是 JDK1.0 版本添加的类。继承于 AbstractList,实现了 List, RandomAccess, Cloneable 这些接口。 Vector 继承了 AbstractList,实现了 List;所以,它是一个队列,支持相关的添加、删除、修改、遍历等功能。 Vector 实现了 RandmoAccess 接口,即提供了随机访问功能。 阅读全文
posted @ 2021-08-10 09:59 Liming_Code 阅读(73) 评论(0) 推荐(0) 编辑
摘要:线程间通信的模型有两种:共享内存和消息传递,以下方式都是基本这两种模型来实现的。我们来基本一道面试常见的题目来分析 阅读全文
posted @ 2021-08-09 15:37 Liming_Code 阅读(74) 评论(0) 推荐(0) 编辑
摘要:Lock 锁实现提供了比使用同步方法和语句可以获得的更广泛的锁操作。它们允 许更灵活的结构,可能具有非常不同的属性,并且可能支持多个关联的条件对象。Lock 提供了比 synchronized 更多的功能。 阅读全文
posted @ 2021-08-09 15:13 Liming_Code 阅读(146) 评论(0) 推荐(0) 编辑
摘要:在 Java 中,线程部分是一个重点,本篇文章说的 JUC 也是关于线程的。JUC 就是 java.util .concurrent 工具包的简称。这是一个处理线程的工具包,JDK1.5 开始出现的。 阅读全文
posted @ 2021-08-09 14:08 Liming_Code 阅读(214) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示