一、多线程概述
1、多线程简介
多线程是指一个进程中包含的多个执行流(可执行的计算单元),即在一个进程中可以同时运行多个不同的线程,来执行不同的任务。
注意,一个 CPU 同一时间只能执行一个线程。
-
好处:
- 使用多线程的好处是可以
提高 CPU 的利用率
。在多线程程序中,当其中一个线程必须等待的时候,CPU 可以运行其它的线程而不是等待,这样就大大提高了程序的效率。也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
- 使用多线程的好处是可以
-
坏处:
- 线程也是程序,所以线程需要占用内存。线程越多,占用内存也越多;
- 多线程需要协调和管理,所以需要 CPU 时间跟踪线程;
- 线程之间对共享资源的访问会相互影响,必须解决竞用共享资源的问题。
2、并发和并行
- 并发(concurrency):多个任务在同一个 CPU 核上&#