什么是程序
Wikipedia对程序有这么一个定义:
A computer program is a collection of instructions that performs a specific task when executed by a computer.
翻译过来就是计算机程序是由计算机执行某一特定任务的指令的集合
程序是用众多编程语言编写出来的文本,这些文本可以让计算机做指定的事干活;例如Window上的已.exe为后缀的文件,这就是一个编译完成的程序
什么是进程
一个程序,它被存放在硬盘上,它是静态的;当启动一个程序之后,就会在内存里产生一个进程,再次启动又会产生一个进程,进程相对于程序就是一个动态的概念
一句话概括,进程是操作系统进行资源分配的基本单位
什么是线程
线程是进程里面的执行单元,进程会以线程为单位开始执行;首先会产生一个主线程,在由这个主线程来创建不同的线程,CPU会交替执行这些线程,多个线程共享同一进程里的资源
一句话概括,线程是调度执行的基本单元
单核CPU用多线程是否有意义
是有意义的。单核CPU虽然不能使多个线程同时运行,但线程是可让出CPU的(例如调用sleep()),让出CPU还可以执行其他线程,从而压榨CPU的资源