Chinaunix首页 | 论坛 | 博客
  • 博客访问: 427285
  • 博文数量: 239
  • 博客积分: 8010
  • 博客等级: 中将
  • 技术积分: 2431
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-02 21:12
文章分类
文章存档

2008年(239)

我的朋友

分类:

2008-06-18 00:41:45

进程和线程

进程是一个具有独立功能的程序在计算机上动态执行的过程,简单地说,进程就是指程序的一次执行过程。线程属于进程,是进程中执行运算的最小单位,一个进程的所有线程都共享该进程的内存地址空间。

现代计算机系统采用多道程序设计,系统中同时存在多个进程,执行多个任务,从而实现资源共享,提高CPU利用率。一个进程在等待资源或者其运行时间达到设定的时间片之后,就放弃资源进行切换,使其它进程能够获取资源而执行。对放弃资源、停止执行的进程,系统需要保存它的当前运行环境,以使该进程在重新获取资源后,能够从这一点继续往下执行。

由于进程之间的切换需要较多的系统资源,而且进程之间的通讯效率也受到限制,因此为了减少系统开销、提高通信效率,在计算机系统中引入了线程的概念。线程使用进程的资源,不会从系统中获取新的资源,因此线程之间的切换很快。另外,同一进程中的各个线程可以通过直接读取数据段来进行通讯。

进程和线程之间,存在以下的关系:

1)一个线程只能属于一个进程,而一个进程可以包含多个线程。

2)系统将资源分配给进程,不同的进程有不同的地址空间。同一个进程的所有线程共享该进程的所有资源。

3)线程在运行过程中,需要协作同步。同一个进程的线程可通过直接读写数据段进行通信,不同进程的线程之间要利用消息通讯的办法实现同步。

阅读(1124) | 评论(0) | 转发(0) |
0

上一篇:1.3.3 并发和并行

下一篇:1.3.1 实例

给主人留下些什么吧!~~