首先介绍线程的五种状态: 新生态:New Thread() 就绪态:准备抢CPU时间片 运行态:抢到了CPU时间片 阻塞态:放弃已经抢到的CPU时间片,且暂时不参与争抢 死亡态:Run运行完了之后 接下来介绍三种方法:线程的阻塞,线程的优先级设置,线程的礼让 1 public class Mutli ...
分类:
编程语言 时间:
2020-02-10 09:26:08
阅读次数:
69
1.引子 在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式 2.线程启动 3.线程停止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天我们从第五个基础核心开始:线程相关方法 2.考考你 #前 ...
分类:
编程语言 时间:
2020-02-08 11:53:16
阅读次数:
76
之前写的一个Sql转发应用出现了内存溢出问题,经过排查发现是ExecutorService没有正确的进行关闭。 正常来说如果我们将ExecutorService设计成一个静态变量,那么通常我们是不用去管理其是否关闭的,我们只需要对其本身的线程进行维护操作,ExecutorService对象不用我们显 ...
分类:
编程语言 时间:
2020-02-06 14:53:45
阅读次数:
248
1.引子 在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式 2.线程启动 3.线程停止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天我们从第四个基础核心开始:线程生命周期 2.考考你 #前 ...
分类:
编程语言 时间:
2020-02-06 12:55:30
阅读次数:
82
package chartone; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import jav ...
分类:
编程语言 时间:
2020-02-06 10:41:48
阅读次数:
65
信号量同步是指在不同线程之间,通过传递同步信号量来协调线程执行的先后次序。CountDownLatch是基于时间维度的Semaphore则是基于信号维度的。 1:基于执行时间的同步类CountDownLatch 例如现有3台服务器,需编写一个获取各个服务器状态的接口,准备开三个子线程每个线程获取一台 ...
分类:
编程语言 时间:
2020-02-05 20:06:04
阅读次数:
74
1.引子 在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式 2.线程启动 3.线程停止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天我们从第二个基础核心开始:启动线程 2.考考你 #前情回 ...
分类:
编程语言 时间:
2020-02-04 11:07:51
阅读次数:
70
先看例子: 解析: 通过源码发现Thread类也实现了Runnable接口,通过所以此创建实例的过程是一个Runnable的实现类对象(myThread),传递给另一个Runnable实现类对象(t、t1、t2)的过程,而Thread类中还定义了个Runnable类型的属性,用于配合接收Thread ...
分类:
编程语言 时间:
2020-02-03 22:50:00
阅读次数:
154
1.引子 在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式 2.线程启动 3.线程停止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天我们从第一个基础核心开始:创建线程的方式 2.考考你 # ...
分类:
编程语言 时间:
2020-02-03 12:19:31
阅读次数:
93
所谓的高并发除了在架构上的高屋建瓴,还得需要开发人员在具体业务开发中注重自己的每一行代码、每一个细节,面子有的同时,更重要的还是要有里子。 面对性能,我们一定要有自己的工匠精神,不可以对任何一行代码妥协! 今天和大家分享在业务开发中如何降低接口响应时间的一个小技巧,也是大家日常开发中比较普遍存在的一 ...
分类:
编程语言 时间:
2020-02-03 11:56:09
阅读次数:
90