进程和线程

1、进程是操作系统进行资源分配和调度的基本单位,线程是CPU调度的基本单位,是进程中一个单一顺序的执行流。

2、把进程当成做一件事情,操作系统管理进程,负责调度进程。具体怎么做?是进程的事。一个进程至少有一个主线程,可以有多个辅助线程,真正做事的是线程。进程做的事情:可以是一个线程按顺序一步一步做,也可以启动多个线程,协作完成。

3、进程有一块内存,也就是可执行文件装载到操作系统中,从上到下大致为:栈,堆,全局存储区,常量存储区,代码区。而线程可以认为是一个执行流,每个线程都有一个自己的调用堆栈,可以访问进程中的资源,对于共享资源需要进行同步控制。而一个进程是不能访问另一个进程的资源,只能通过进程间的通信传递数据。

4、进程之间的切换代价大,而线程之间的切换代价小。

5、多线程的使用场景:

  a、对于UI界面,如果执行一个耗时的操作,为了让界面及时响应,可以重启一个线程,去执行。

  b、同时有多个请求,可以创建一个线程池,来一个请求,从线程池中拿出一个空闲的线程处理。

  c、对于网络数据的接受,创建一个线程用于接受数据,接受的数据保存在本地,处理之后一个一个转发出去。

原文地址:https://www.cnblogs.com/nzbbody/p/3591884.html