多线程
文章平均质量分 52
blindore
这个作者很懒,什么都没留下…
展开
-
java学习输出文档
知识地图一、类设计1、面向对象的设计思想的理解面向对象vs面向过程(洗衣服)封装: 就是把内部的东西保护起来,不被外界所看到.继承: 就是用于类的扩展多态: 概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。多态有什么好处?应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。//继承派生类的功能可以被基类的方法或引用变量所调用,这原创 2021-08-19 18:10:26 · 1061 阅读 · 0 评论 -
什么是闭锁?(ContDownLatch)
在完成某些运算时,只有其他所有线程的运算全部完成,当前运算才继续执行,这就叫闭锁。java.util.concurrent包中提供了多种并发容器类来改进同步容器的性能。ContDownLatch是一个同步辅助类**我们的需求是输出0-5000内的所有偶数,然后输出“耗费时间为x秒”。**看下面代码:public class TestCountDownLatch { public static void main(String[] args){ LatchDemo ld = ne原创 2021-07-01 14:20:24 · 1071 阅读 · 0 评论 -
Java线程池如何合理配置线程数
Java线程池如何合理配置线程数根据任务类型是CPU 密集型任务还是 IO 密集型任务进行划分:对于 CPU 密集型的计算场景:理论上线程的数量 = CPU 核数就是最合适的,不过通常把线程的数量设置为CPU 核数 +1,会实现最优的利用率。对于 IO 密集型的计算场景:计算方式根据《Java虚拟机并发编程》中提出的:线程数 = CPU 核心数 / (1 - 阻塞系数)其中计算密集型阻塞系数为 0,IO 密集型阻塞系数接近 1,一般认为在 0.8 ~ 0.9 之间。比如 8 核 CPU,原创 2021-07-01 10:39:39 · 453 阅读 · 0 评论 -
多线程卖票问题(ReentrantLock的使用)
import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/**Description@Author blindore@Date Created in 2021-7-1 9:59@Version 2.10.6*/public class TestLock {public static void main(String[] args) {Tickets td原创 2021-07-01 10:00:07 · 165 阅读 · 0 评论