进程和线程

来源:互联网 发布:淘宝打折工具在哪里 编辑:程序博客网 时间:2024/06/06 04:31

一、进程和线程定义
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。
如果把进程比喻成一个屋子,那线程就相当于屋子里的每一个人

二、进程和线程的区别
1、进程的内存是独立的;线程共享内存空间
2、子进程的数据相当于把父进程的数据克隆一份,多个子进程之间的数据是独立的;线程的数据是共享的
3、同一个进程的线程之间可以直接进行信息传递;两个进程相互通信必须通过一个中间代理实现
4、创建新进程需要对其父进程进行一次克隆;创建新的线程很容易
5、一个线程可以控制和操作同一进程里的其他线程;但是进程只能操作子进程
6、更改主线程(取消、优先级更改等)有可能会影响其他线程的运行;但是更改主进程不会影响其他的子进程。

三、进程和线程哪个比较快?
在启动的时候,线程的启动速度比进程快,但是启动起来后效果是一样的;
进程是资源的集合,进程如果想要执行任务,肯定要通过线程。所以进程和线程之间是没有可比性的