关于线程与进程
进程
是指内存中运行的应用程序,每个进程都有一个独立的内存空间。
线程
是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行。一个进程最少有一个线程。
关于线程调度
分时调度
所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间。
抢占式调度
优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),java使用的是抢占式调度。
注意:多线程程序不能提高程序的运行速度,但能够提高程序运行效率,让CPU的使用率更高。
关于同步与异步
同步
排队执行,效率低安全
异步
同时执行,效率高但是不安全。
关于并发与并行
并发
指两个或多个时间在同一时间段发生
并行
指两个或多个时间在同一时刻发生