理解进程和线程

举例来说:程序员为女儿做蛋糕。

1、程序员需要食谱,食谱上写出了需要哪些原料,如何做。食谱就是程序,原料就是数据,程序员就是CPU。程序员按照食谱、对原料进行加工,做蛋糕的过程就相当于CPU执行代码、操作数据的过程。做蛋糕的过程就是进程。

2、做蛋糕可以分为几个小的步骤,这些步骤共同加工原料。每个小的步骤就是一个线程。比如做蛋糕进程可以分为以下几个线程:取原料(包括鸡蛋、面粉、奶油、糖、水等),混合原料,烘烤混合物。这些步骤之间存在一定的先后关系和互斥关系,比如:混合原料必须在取原料之后,二者不能同时进行。

3、假设程序员做蛋糕的时候,淘气的儿子跑进来,对爸爸说,被蜜蜂蛰了(相当于进来一个优先级更高的进程)。这时候,程序员就会暂停做蛋糕,同时记录做到了哪一步。然后拿出急救说明书(另一段程序),急救箱(另一端程序的数据),处理儿子的蛰伤(另一个进程)。处理完毕后,程序员接着原来的步骤继续做蛋糕。

posted on 2012-03-05 16:54  Andy Niu  阅读(464)  评论(0编辑  收藏  举报