分别解释一下程序,进程和线程的概念和区别(python线程与进程的区别)

本文目录

分别解释一下程序,进程和线程的概念和区别

程序 是计算机指令的集合它,以文件的形式存储在磁盘上。

进程是一个程序在其 自身的地址空间中的一次执行活动。

进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源,而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占系统的运行资源。

线程:进程中的一个单一的连续控制流程。一个进程可以拥有多个线程。线程又称轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。

python线程与进程的区别

1、运行方式不同

进程不能单独执行,它只是资源的集合。

进程要操作CPU,必须要先创建一个线程。

所有在同一个进程里的线程,是同享同一块进程所占的内存空间。

2、关系

进程中第一个线程是主线程,主线程可以创建其他线程;其他线程也可以创建线程;线程之间是平等的。

进程有父进程和子进程,独立的内存空间,唯一的标识符:pid。

3、速度

启动线程比启动进程快。

运行线程和运行进程速度上是一样的,没有可比性。

线程共享内存空间,进程的内存是独立的。

4、创建

父进程生成子进程,相当于复制一份内存空间,进程之间不能直接访问

创建新线程很简单,创建新进程需要对父进程进行一次复制。

一个线程可以控制和操作同级线程里的其他线程,但是进程只能操作子进程。

5、交互

同一个进程里的线程之间可以直接访问。两个进程想通信必须通过一个中间代理来实现。

vxworks中taskspawn创建的任务,与进程和线程的区别是什么呢

taskspawn创建的任务是进程,不是线程,在vxworks里Task等价于进程。死循环方式是可以的,比如exctask等很多核心的task都是死循环进程之间的内存空间是互相隔离的(虽然vxworks里也可以访问),进程内不同线程之间内存空间是共享的。vxworks里暂时还没有线程的概念。

(0)
上一篇 2023年11月4日 上午10:30
下一篇 2023年11月4日 上午10:47

相关推荐

发表评论

登录后才能评论