什么是程序、进程、线程?同步异步的区别?串行、并发?
- 程序:是一个可以运行的文件;一个程序至少包含一个进程,一个进程至少包含一个线程,即主线程;
- 进程:是指在系统中正在运行的一个应用程序;负责程序运行的内存分配,每个进程都有自己的独立虚拟空间。一个程序的一次运行,在执行过程中拥有独立内存单元;而多个线程共享一个内存;
- 线程:线程是进程中的一个执行路径(可执行的代码段),cpu的调度基本单位,线程可以并发运行,提高执行效率;
- 同步和异步主要影响能不能开启新线程
- 同步:在当前线程中执行任务,不具备开启新线程的能力
- 异步:在新的线程中执行任务,具备开启新线程的能力
- 并发和串行主要影响:任务的执行方式
- 并发:多个任务并发(同时)执行
- 串行:一个任务执行完成后,再执行下一个任务