线程 进程 区别

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

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

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

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

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

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

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

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

而不同进程的线程间的通信,主要是借助了进程间通信的机制实现了啊

猜你喜欢

转载自blog.csdn.net/boise/article/details/52997600
今日推荐