线程 进程 区别

区别和联系:
1、进程是独立运行的实体,有独立的资源分配;
2、同一进程的线程之间共享进程的资源;
3、所有的进程至少有一个执行线程;
4、线程的创建和切换代价比进程的小;

线程间的通信方法:
1、同一进程的线程之间通信的最简单办法就是使用全局变量;
2、不同进程的线程之间通信需要通过下面进程间的通信来实现;

进程间的通信方法:
1、管道
2、信号量
3、共享内存
4、消息队列
5、套接字
----------------------------------------------------------------------------------------------------------
qbjxiaolei | 四级
进程是线程的容器,进程提供资源,内存。里面的线程利用进程的资源,内存执行代码。多线程是一个进程里面包含多个线程,他们共享进程里面的资源和内存空间,所以多个线程可以通过全局变量进行通信。多进程通信就必须系统调用产生进程共享的内存,也可以用文件,可以通过网络等方法。
----------------------------------------------------------------------------------------------------------
程序的一次执行叫一个进程,每个进程有独立的堆栈段、代码段、数据段。而且进程是系统进行资源分配和调度的最小单位,多进程之间是拥有独立的内存单元的。

线程是进程的一个实体,是CPU调度和分派的基本单位,可以和隶属与同一个进程的其它线程共享进程所拥有的全部资源。同一个进程中的多个线程可以并发执行,多线程之间拥有共享的内存单元,这样以提高执行效率。

这样说吧,一个程序至少包含一个进程,一个进程至少包含一个线程。

进程的创建:fork()
线程的创建:pthread_create()

进程间通信主要是管道、消息队列、信号量等等,搜缩关键字IPC一大把,这里就不说了。

同一进程的线程间通信主要是全局变量,上面说了,这些线程之间拥有共享的内存单元嘛,也就是共享的数据段。

而不同进程的线程间的通信,主要是借助了进程间通信的机制实现了啊
操作系统中的线程进程是两个不同的概念,它们的区别可以从以下几个方面来理解: 1. **定义**: - 进程(Process):一个独立运行的程序实例,拥有自己的地址空间、数据和资源,包括内存、文件描述符等。每个进程都是操作系统分配资源的基本单位。 - 线程(Thread):在同一个进程中执行的轻量级实体,共享相同的代码和数据区,但是有自己的执行上下文,可以并发执行。 2. **资源占用**: - 进程:相对于线程来说,进程的资源开销较大,创建和销毁都需要时间,而且当一个进程崩溃时,其所有的线程都会终止。 - 线程线程切换速度快,创建和销毁相对快捷,适合处理CPU密集型任务。 3. **通信协作**: - 进程间通信(IPC):需要通过特定机制如管道、消息队列、共享内存或套接字等进行跨进程通信。 - 线程间通信(TCB):在同一进程内的线程可以直接共享数据,无需额外的通信机制,操作更便捷。 4. **调度和并发性**: - 进程调度:操作系统通常采用更为粗粒度的方式对进程进行调度,而线程调度则更为频繁。 - 并发性:在一个进程中可以有多个线程同时运行,提高了系统的并发能力。 5. **图示说明**: 你可以想象成一个房子(进程)里有几个房间(线程),每个房间都有自己的小桌子(局部变量)和衣柜(全局变量)。进程之间像不同房子一样隔离,而线程就像屋子里的不同房间,可以在同一时间内做不同的事情。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值