介绍的内容:
主要介绍多线程的基本概念到后面的基本使用。以及一些稍微的原理猜测。个人笔记,不喜勿喷
目录
目录
一、线程使用
线程:主要是异步+并行,为了合理的利用cpu资源
一般多线程都会和并发、并行联系在一起。
1.1 概念
并发:单个时间内,能支持的吞吐量。一定需要多线程的参与, 常见的评判指标有:QPS,TPS来进行评判标准
并行:同一时刻能够运行多个任务
1.2 线程生命周期
图:
- 新建NEW、
- 运行RUNNABLE(就绪-->通过cpu调用算法)
- 阻塞BLOCKED、
- 等待WAITING、
- 超时等待TIMED_WAITING、
- 终止 TERMINATED
1.3 java中实现的方式
1.3.1 继承线程 Thread
// 方式一 继承线程 Thread
public class ThreadDemoOne extends Thread{
@Override
public void run() {
System.out.println("继承 Thread ==> 相关业务逻辑");
super.run();
}
}
1.3.2 实现接口Runnable (无返回值)
// 方式二 实现接口Runnable (无返回值)
public class ThreadDemoTwo implements Runnable{
@Override
public void run() {
System.out.println("实现接口Runnable ==>相关业务逻辑");
}
}
1.3.3 实现接口Callable (带返回值)
// 方式三 实现接口Callable (带返回值)
public class ThreadDemoThree implements Callable{
@Override
publ