June1993
June1993
全部文章
多线程与并发编程
java基础(51)
linux(3)
spring(14)
springboot(7)
springmvc/mybatis(8)
Tomcat/Jmeter(4)
UML(2)
一些小工具(5)
分布式中间件(15)
前端(3)
大数据(9)
数据库(19)
数据结构与算法(29)
未归档(12)
环境及一些报错问题(14)
综合(6)
计算机基础(4)
计算机网络(5)
设计模式(10)
归档
标签
去牛客网
登录
/
注册
June1993的博客
全部文章
/ 多线程与并发编程
(共9篇)
Java并发之AQS详解
转载!原文链接:https://www.cnblogs.com/waterystone/p/4920797.html 原作者:水岩 一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS...
2019-07-29
0
639
多次start一个线程会怎么样
答案是:java.lang.IllegalThreadStateException 源码如下 /** * Causes this thread to begin execution; the Java Virtual Machine * calls the <co...
2019-07-12
0
882
守护线程和用户线程的区别
如果JVM中所有的线程都是守护线程,那么JVM就会退出,进而守护线程也会退出。 如果JVM中还存在用户线程,那么JVM就会一直存活,不会退出。 由此可以得到: 守护线程是依赖于用户线程,用户线程退出了,守护线程也就会退出,典型的守护线程如垃圾回收线程。 用户线程是独立存在的,不会因为其他用户...
2019-07-02
0
629
线程池(工作流程、四中线程池的应用场景)
线程池任务执行流程: 当线程池小于corePoolSize时,新提交任务将创建一个新线程执行任务,即使此时线程池中存在空闲线程。 当线程池达到corePoolSize时,新提交任务将被放入workQueue中,等待线程池中任务调度执行 当workQueue已满,且maxim...
2019-04-17
0
769
线程池在springboot中简单使用
一次性发多封邮件是一个比较耗时的功能,因此可以考虑借助于线程池 Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程。使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor.在开发中实现异步任务,我们可以在配置类中添加@EnableA...
2019-03-26
0
642
使用多线程提高rest服务性能
tomcat管理线程数量有限,当达到一定请求数量时,无法继续接受请求,使用多线程的方式,可以调用一个异步线程来执行。 执行逻辑如下图,tomcat就收http请求,调用一个副线程进行处理,副线程处理后,将结果返回给主线程。在副线程处理整个业务逻辑的过程中,主线程可以空闲出来,去处理其他请求。使得服...
2019-01-07
0
496
线程间通信
子线程循环10次,主线程循环100次 交替循环50次 public class TraditionalThreadCommunication { public static void main(String[] args) { final Business business...
2017-10-07
0
456
多线程与高并发
1.Callable和Runnable I Callable定义的方法是call,而Runnable定义的方法是run。 II Callable的call方法可以有返回值,而Runnable的run方法不能有返回值。 III Callable的call方法可抛出异常,而Run...
2017-07-25
0
652
经典多线程面试题
1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要 100 毫秒,那么用十个线程完成改任务只需 10 毫秒。Java 在语言层面对多...
2017-02-18
3
834