进程与线程的比较

来源:互联网 发布:美颜相机软件哪款好 编辑:程序博客网 时间:2024/05/17 22:23

           1、和进程相比,线程是一种非常"节俭"的多任务操作方式。在linux系统下,启动一个新的进程必须分配给它独立

的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。

           2、运行于一个进程中的多个线程,它们之间使用相同的地址空间,而且线程间彼此切换所需时间也远远小于进

程间切换所需要的时间。据统计,一个进程的开销大约是一个线程开销的30倍左右。

           3、线程间方便的通信机制。对不同进程来说,它们具有独立的数据空间,要进行数据的传递只能通过进程间通

信的方式进行,这种方式不仅费时,而且很不方便。线程则不然,由于同一进城下的线程之间贡献数据空间,所以一个

线程的数据可以直接为其他线程所用,这不仅快捷,而且方便。

           除以上优点外,多线程程序作为一种多任务、并发的工作方式,还有如下优点:

           1、使多CPU系统更加有效。操作系统会保证当线程数不大于CPU数目时,不同的线程运行于不同的CPU上。

           2、改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的

程序才会利于理解和修改。

0 0
原创粉丝点击