进程和线程小解析

说说进程和线程的区别:

  1. 进程是操作系统进行资源分配的单位。
    线程是CPU任务调度的基本单元。
    至于程序和进程的区别?程序是死的代码,用我老师的话来说就是相当于进程的尸体,不可被执行或调度,以文件形式存在于系统中。而进程则是活的程序,是可以被系统执行和调度的。

  2. 进程的五大状态:
    创建(创建进程)-> 就绪(创建完毕,等待CPU调度) -> 运行(正在占用CPU运行) -> 等待(等待IO等其他操作的结束) -> 终止(结束进程)

  3. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈)

  4. 线程共享的东西:代码、数据、堆区
    线程独有的:寄存器、栈区、程序计数器 、线程的优先级

  5. 一个程序至少有一个进程,一个进程至少有一个线程.

进程同步的方法:

  1. 临界区
  2. 互斥锁
  3. 信号量
  4. 事件

进程通信的方法:

  1. 管道
  2. 共享内存
  3. 消息队列
  4. 信号量
  5. Socket

同步和通信的共通之处是信号量、消息(事件)

参考链接:
http://www.cnblogs.com/memewry/archive/2012/08/22/2651696.html

posted @ 2016-09-06 22:29  Victor_Lv  阅读(111)  评论(0编辑  收藏  举报