线程并发原理
文章平均质量分 97
线程并发相关知识理解
做个专注的工程师
这个作者很懒,什么都没留下…
展开
-
CompletableFuture
CompletableFuture的get()方法是阻塞的,我们一般建议使用。并且一般建议使用自定义线程池。但是如果线程池拒绝策略是或者,当线程池饱和时,会直接丢弃任务,不会抛弃异常。因此建议,CompletableFuture线程池策略最好使用AbortPolicy,然后耗时的异步线程,做好线程池隔离哈。原创 2023-07-22 18:30:49 · 103 阅读 · 0 评论 -
java多线程应基础-------part4: [Callable、Feature和FeatureTask浅析]
通过前面几篇的学习,我们知道创建线程的方式有两种,一种是实现Runnable接口,另一种是继承Thread,但是这两种方式都有个缺点,那就是在任务执行完成之后无法获取返回结果,那如果我们想要获取返回结果该如何实现呢?还记上一篇Executor框架结构中提到的Callable接口和Future接口吗?,是的,从JAVA SE 5.0开始引入了Callable和Future,通过它们构建的线程,在任务执行完成后就可以获取执行结果,今天我们就来聊聊线程创建的第三种方式,那就是实现Callable接口。1.Ca原创 2021-03-20 17:18:58 · 2652 阅读 · 0 评论 -
java多线程应基础-------part3: [线程池-Executor框架之ThreadPoolExcutor;ScheduledThreadPoolE]
无论是在java还是在android中其实使用到的线程池都基本是一样的,因此本篇我们将来认识一下线程池Executor框架(相关知识点结合了并发编程艺术书以及Android开发艺术探索而总结),下面是本篇的主要知识点:1.Executor框架浅析首先我们得明白一个 问题,为什么需要线程池?在java中,使用线程来执行异步任务时,线程的创建和销毁需要一定的开销,如果我们为每一个任务创建一个新的线程来执行的话,那么这些线程的创建与销毁将消耗大量的计算资源。同时为每一个任务创建一个新线...原创 2021-03-20 16:58:33 · 237 阅读 · 1 评论 -
java多线程应基础-------part2: [多线程-概念&创建启动&中断&守护线程&优先级&线程状态]
本篇我们将讨论以下知识点:1.线程同步问题的产生什么是线程同步问题,我们先来看一段卖票系统的代码,然后再分析这个问题:package com.zejian.test;/*** @author zejian* @time 2016年3月12日 下午2:55:42* @decrition 模拟卖票线程*/public class Ticket implements Runnable{ //当前拥有的票数 private int num = 100; ...原创 2021-03-17 08:35:29 · 207 阅读 · 1 评论 -
java多线程应基础-------part1: [多线程-概念&创建启动&中断&守护线程&优先级&线程状态]
多线程系列教程:java多线程-概念&创建启动&中断&守护线程&优先级&线程状态(多线程编程之一)java多线程同步以及线程间通信详解&消费者生产者模式&死锁&Thread.join()(多线程编程之二)java&android线程池-Executor框架之ThreadPoolExcutor&ScheduledThreadPoolExecutor浅析(多线程编程之三)Java多线程:Callable、Futu..原创 2021-03-17 08:11:51 · 173 阅读 · 0 评论 -
线程应用加强
1.进程与线程认知强化1.1. 如何理解进程与线程?进程:操作系统进行资源调度和分配的基本单位(例如浏览器,APP,JVM)等,进程中分配着操作系统的资源。线程:进程中的最小执行单位,是 CPU 资源的分配的基本单位(可以理解为一 个顺序的执行流)。说明:实质上不同的进程之间存在资源抢夺,但是这不是我们研究的重点,进程之间的强夺,大不了直接关掉几个就行,或者加cpu,集群部署等来搞并行。 真正到项目中,由于环境固定,开发人员考虑的维度是在一个进程中如何提高过个线程的并发效果。1.2.原创 2021-03-08 07:21:53 · 133 阅读 · 0 评论