并发编程的优点与缺点
特征:一个对象在同一时间同时操作多个任务,由于操作多任务时切换时间非常短被视为多任务。 案例:一边上厕所一边看手机、一边吃饭一边看手机…
引例问题:单条道路在早晚高峰期产生车辆拥堵。 解决方案:开辟多条道路加速车流量的吞吐。
一个进程可以有多个线程。 如:在一个视频中同时看图像、听声音、发弹幕等
注记:很多多线程是模拟出来的,真正的多线程是有多个CPU(多核、服务器)如果是模拟出来的多线程(单核CPU)在同一个时间点只能执行一个代码,因为切换的速度很快,所以产生了多线程的错觉。
package cn.dioxide.program;
//创建线程方式1:继承Thread类
//线程开启不一定立即执行,由CPU的调度决定
public class ThreadPack extends Thread {
@Override
public void run() {
//重写线程的run方法
for (int i = 0; i < 20; i++) {
System.out.println("线程执行"+i);
}
}
public static void main(String[] args) {
//创建线程对象
ThreadPack tp = new ThreadPack();
//start方法启动线程
tp.start();
for (int i = 0; i < 20; i++) {
System.out.println("主线程执行"+i);
}
}
}
需要外Jar包commons-io-2.11.0.jar 太简单,略。 见:【狂神说Java】多线程详解 网图下载