多线程
文章平均质量分 88
一缕82年的清风
这个作者很懒,什么都没留下…
展开
-
多线程(五) | 聊聊ComplatableFuture
我们继续来聊多线程的知识,今天我们来学习一个新的工具类,也是非常重要的一个类:CompletableFuture。原创 2023-12-13 09:12:05 · 377 阅读 · 0 评论 -
多线程(四) | 聊聊Callable和Future
hello, 大家好,又见面了。通过前面几篇文章,我相信大家应该对于如何使用多线程执行任务应该都有了一定的了解。今天我们来讲一讲Callable和Future。我们之前的线程任务都是使用的Runnable接口,这个任务最终的体现是写在里面 run方法中的内容,大家要这个run() 方法是没有返回值的,也就代表这我们使用Runnable 作为线程任务的时候是没有返回值的。原创 2022-10-24 14:58:27 · 1179 阅读 · 1 评论 -
多线程(三) | 彻底搞懂线程池-ThreadPoolExecutor
上篇文章我们讲解了Executors这个线程池工厂类的用法,介绍了它所提供的一些常用线程池工具的用法,今天我们来继续深入学习。一、ThreadPoolExecutor上面我们着重介绍了通过Executors 工具类获得的各类连接池的使用。上面的几个连接池中,除了newWorkStealingPool 这个连接池,剩下的连接池,其实底层都是使用ThreadPoolExecutor 来创建的。包括newScheduledThreadPool() 底层是通过ScheduledThreadPoolExecu原创 2022-04-24 10:34:39 · 1019 阅读 · 0 评论 -
多线程(二) | 彻底搞懂线程池-Executors
[原文约7000字]上篇文章,我们讲解了通过Thread和 Runnable 使用线程的方法,并且演示了如何创建一个线程并启动,今天我们来聊一聊多线程中的线程池。一、为什么要使用线程池我们使用多线程的一个一般步骤是: 先创建一个线程,然后线程执行线程任务,线程任务执行完毕后,线程会被销毁。但是线程的创建和销毁是比较耗费资源的。在高并发场景之下,如果需要开启大量的线程,而每个线程它执行任务所需的时间很短的情况下,那么线程的频繁的创建和销毁就会成为性能的瓶颈。所以线程池应运而生。线程池的主要功能原创 2022-04-14 10:13:55 · 3369 阅读 · 1 评论 -
多线程(一) | 聊聊Thread和Runnable
多线程的用法应该也算是Java语言开发过程中永远绕不过去的一个难点。本系列着重讲解多线程中的一些API用法。注意这里对于多线程的概念将不展开介绍,如果对于什么是多线程等基本概念不太了解的,建议先了解一些概念后再来学习。本文将直接从多线程的创建开始。一、Thread类和Runnable接口Thread类就是代表了线程的抽象,由于线程的启动执行等必然要和底层的操作系统打交道,所有在Thread类中有很多native修饰的本地方法。这个类中也包含了很多对于线程的操作。比如通过构造方法我们可以创建线程,通过原创 2022-04-07 09:37:52 · 2307 阅读 · 0 评论