前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1.线程相关的基础知识

1.线程相关的基础知识

原创
作者头像
jiagui
发布2024-07-06 16:20:13
990
发布2024-07-06 16:20:13
举报
文章被收录于专栏:Python多线程

进程

  1. 一个进程就是一个正在执行的程序,每一个进程都有自己独立的一块内存空间、一组系统资源。在进程的概念中,每一个进程的内部数据和状态都是完全独立的。
  2. 在Windows操作系统中,一个进程就是一个exe或者dll程序,它们相互独立,相互也可以通信。
  3. 启动每一个进程默认有一个主进程。Python中多进程是通过Process类来实现的。

线程

  1. 在一个进程中可以包含多个线程,多个线程共享一块内存空间和一组系统资源。所以,系统在各个线程之间切换时,开销要比进程小得多,正因如此,线程被称为轻量级进程。
  2. Python程序至少有一个线程,这就是主线程,程序在启动后由Pytho n解释器负责创建主线程,在程序结束后由Python解释器负责停止主线程。
  3. 在多线程中,主线程负责其他线程的启动、挂起、停止等操作,其它线程被称为子线程。Python中的多线程是通过Thread类来实现的。

二者的区别和联系

  1. 进程是资源单位,而线程是执行单位,一个进程至少包含一个线程。如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。
  2. 进程的创建、销毁和切换通常涉及较大的系统开销,因为需要复制整个程序上下文,包括内存空间和数据结构。 线程的创建、销毁和切换开销较小,因为它们共享进程的资源,只需要保存和恢复少量的寄存器和栈信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 进程
  • 线程
  • 二者的区别和联系
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档