一、线程(process)
1、线程:是指程序在执行的过程中,能够执行程序代码的一个执行单元。
2、线程有4中状态:运行、就绪、挂起和结束。
3、线程是程序执行的最小单元。
4、单线程:指的是程序执行过程中只有一个有效操作的序列,不同操作序 列之间都有明确的执行先后顺序。
5、多线程:是指程序在执行的过程中,有多个有效操作的序列,并且能够 同时运行的。
6、多线程的使用好处:
(1)、使用多线程可以减少程序的响应时间;
(2)、与进程相比较,线程的创建和切换开销比较小;
(3)、在多CPU计算机上使用多线程能够提高CPU的利用率;
(4)、使用多线程能简化程序的结构,使得程序更加便于理解和维护;
二、进程(thread)
1、进程:是指一段正在执行的程序。
2、进程之间是相互独立的,线程运行在进程的空间内。
3、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单元。
三、线程和进程的关系
1、一个进程可以拥有多个线程,各线程之间共享程序的内存空间,以及一 些进程级的资源,但是各个线程拥有自己的栈空间。
2、在操作系统级别上,程序的执行都是以进程为单位的,而每个进程中会 有多个线程互不影响地并发执行。
3、一个线程只能属于一个进程,而一个进程可以拥有多个线程,但至少有 一个线程。
4、同一进程上的所有线程共享该进程的所有资源。
5、处理机上运行的是线程。