线程与进程的区别
- 进程
进程,是并发执行的程序在执行过程中分配和管理资源的基本单位。每个进程都有一个自己的地址空间,空间大小只与处理机的位数有关。进程至少有5种状态:初始态、就绪态、执行态、等待态、终止态。
- 线程
线程,在网络或多用户环境下,一个服务器通常要接收大量用户的并发请求,为每个请求创建一个进程显然是行不通的(系统资源开销、响应的效率等),所以引进了线程概念。线程是进程的一部分,可以成为轻量级进程,是CPU调度的一个基本单位。
- 区别
1) 进程是分配和管理资源的基本单位,拥有独立的内存地址;线程是CPU调度的基本单位,没有独立的地址空间,有独立的栈、程序计数器等。
2) 创建进程的开销大,而创建线程开销小。
3) 一个进程无法直接访问另一个进程的资源,访问时需要使用进程通信,比如管道、套接字等;同一个进程内的多个线程共享进程的资源。
4) 进程切换开销大,线程切换开销小;进程间通信开销大,线程间通信开销小。
5) 线程属于进程,不能独立执行。每个进程至少要有一个线程,成为主线程。
posted on 2017-03-31 09:27 一个不会coding的girl 阅读(197) 评论(0) 编辑 收藏 举报