进程和线程

  首先,我们要弄明白为什么要引入进程和线程。如果服务器同一时间内只能服务一个客户端,那么后果将会很严重。因此,并发编程应运而生。对于并发和并行,这里也多说两句。我们需要一个单核CPU和一个多核CPU,并发是指单核CPU在同一时间段执行多个任务,并行是指多核CPU在同一时间段执行多个任务,我这么说会容易理解一些,不过需要注意的是:多核CPU不一定是并行执行,有可能是并发执行,单核CPU在某些条件下也可以并行执行,不过主要是并发执行,至于什么超线程技术,咱也不知道。

  以下是我对进程和线程的理解:

 

 

1. 两者都是多任务编程方式,都能使用计算机多核资源
2. 进程的创建删除消耗的计算机资源比线程多
3. 进程空间独立,数据互不干扰,有专门通信方法;线程使用全局变量通信
4. 一个进程可以有多个分支线程,两者有包含关系
5. 多个线程共享进程资源,在共享资源操作时往往需要同步互斥处理
6. 进程线程在系统中都有自己的特有属性标志,如ID,代码段,命令集等。
7.进程是一个动态的过程描述,占有计算机运行资源,有一定的生命周期。
  以上所有仅代表个人观点,有什么意见与建议,欢迎探讨。
 
posted @ 2019-07-11 23:12  bitrees  阅读(170)  评论(0编辑  收藏  举报