眼泪滑过所有的梦
眼泪滑过所有的梦
全部文章
多线程
抽象类(1)
ArrayList(1)
Docker(7)
echarts(1)
finally(1)
JAVA(27)
java8(3)
JAVAEE(3)
JAVA面试题(63)
JSON(1)
jvm(8)
K8S(12)
leetcode(2)
Linux(1)
Object(1)
rabbitmq(2)
Read uncommitted(1)
Redis(1)
sleep(1)
SpringBoot实践(15)
sql注入(1)
String(1)
Tomcat(1)
内存泄露(1)
前端(2)
合并有序链表(1)
多线程与并发(2)
学生发展数据综合评价与分析系统(5)
布隆过滤器(1)
感悟(1)
操作系统(1)
数据库(6)
数据结构(1)
日常学习笔记(1)
未归档(38)
生活经历(2)
程序人生(1)
程序计数器(1)
索引(1)
脏读(1)
蓝绿部署(1)
计算机网络(2)
论文或报告(1)
设计模式(3)
集合(1)
归档
标签
去牛客网
登录
/
注册
阳阳的博客
热爱技术,享受生活
全部文章
/ 多线程
(共14篇)
你真得懂Thread.join吗?
Thread类中的join方法,用于等待某个线程执行结束。 简单示例 以下简单的代码,会让主线程等待子线程执行结束再执行。如果去掉t.join(),可能主线程就直接退出了,子线程都来不及执行。 package com.qcy.testJoin; /** * @author qcy ...
2020-09-11
0
567
面试官:如何让主线程等待所有的子线程执行结束之后再执行?我懵了
使用Thread的join方法 package com.qcy.testThreadFinish; /** * @author qcy * @create 2020/09/09 17:05:23 */ public class Case1 { public static void main...
2020-09-11
0
2017
SpringBoot中的异步调用@Async
如何开启异步调用 在SpringBoot中,只需要给方法加上@Async注解,就能将同步方法变为异步调用。 首先在启动类上添加@EnableAsync,即开启异步调用。 /** * @author qcy */ @SpringBootApplication @EnableAsyn...
2020-09-11
0
705
什么,你还不会用CompletableFuture?
如果对JAVA8中的Supplier、Function等类不熟悉的话,可以先移步我的另外一篇文章快速理解Consumer、Supplier、Predicate与Function 上一篇我们讲了Future机制,有兴趣的可以参考谈谈Runnable、Future、Callable、FutureT...
2020-09-11
0
734
谈谈Runnable、Future、Callable、FutureTask之间的关系
注:该篇文章,只是用来梳理他们之间的关系,分析FutureTask的源码则会另开篇幅。 创建线程的两种方式 一种是实现Runnable接口,实现其run方式;另外一种是继承Thread类,重写其run方法。 这一点可以从Thread类中的注释看到: R...
2020-09-11
0
917
ThreadLocal使用不好,小心造成内存泄露!
一、前言 对ThreadLocal不熟悉的同学,可以先参考我的另外一篇文章浅谈ThreadLocal 在讨论内存泄漏之前,需要明白java中的四种引用,同样可以移步到java中的四种引用 什么是内存泄露? 大白话讲,就是我自己创建的对象,在一系列操作后,我访问不到该对象了,我...
2020-06-15
0
568
【多线程】LongAdder实现原理
前言 AtomicInteger、AtomicLong使用非阻塞的CAS算法原子性地更新某一个变量,比synchronized这些阻塞算法拥有更好的性能,但是在高并发情况下,大量线程同时去更新一个变量,由于同一时间只有一个线程能够成功,绝大部分的线程在尝试更新失败后,会通过自旋的方式再次进行尝...
2020-05-25
0
780
【多线程】说说线程池
前言 线程池内部是多个线程的集合,在创建初期,线程池会创建出多个空闲的线程,当有一个任务需要执行时,线程池会选择出一个线程去执行它,执行结束后,该线程不会被销毁,而是可以继续复用。 使用线程池可以大大减少线程频繁创建与销毁的开销,降低了系统资源的消耗。当任务来临时,直接复用之前的线程,而...
2020-05-25
0
794
【多线程】Semaphore实现原理
前言 Semaphore,信号量,一般用于控制同时访问资源的线程数量。可以认为Synchronized代表的是一把锁,那么Semaphore就是多把锁。 常用方法 public class Semaphore implements java.io.Serializable { //...
2020-05-25
0
701
【多线程】CyclicBarrier实现原理
前言 CyclicBarrier,字面意思“循环屏障”,用于多个线程一起到达屏障点后,多个线程再一起接着运行的情况。例如,线程1和线程2一起运行,线程1运行到屏障点a时,将会被阻塞,等到线程2运行到屏障点a后,线程1和线程2才可以打破屏障,接着运行。如果有屏障点b,则他们需要像打破屏障a一样打...
2020-05-25
0
605
首页
上一页
1
2
下一页
末页