千家信息网

Python进程与线程怎么理解

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"Python进程与线程怎么理解"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!进程和线
千家信息网最后更新 2026年11月03日Python进程与线程怎么理解

本篇内容介绍了"Python进程与线程怎么理解"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

进程和线程的理解

线程是操作系统能够进行预算调度的最小单位,它包含在进程中是进程中的实际运作单位。

Linux 进程有父进程和子进程,window 系统的进程是平等关系

一个标准的线程有线程 ID ,当前指令指针,寄存器集合和堆栈组成,在许多系统中,创建一个线程比创建一个进程要快 1- 100 倍。

每一个进程都认为自己独占所有的计算器硬件资源

进程就是独立的王国,进程间不可以随便共享数据

线程就是省份,同一个进程内的线程可以共享进程的资源,每一个进程拥有自己独立的堆栈。

Python 中的进程和线程

进程会启动一个解释器进程,线程共享一个解释器进程。

线程

创建一个最简单的线程程序

import threading
def worker():
print("hello world")
t = threading.Thread(target=worker) # 创建线程对象
t.start() #启动

使用 print 函数打印(因为线程切换回打断 print 函数的执行 )会导致线程不安全,推荐使用 logging

import logging
import threading
FORMAT = '%(asctime-15s\t [%(threadName)s, %(thread)8d] %(message)s)'
logging.basicConfig(level=logging.INFO, format=FORMAT)
def worker():
for i in range(100):
logging.info("{} is running".format(threading.current_thread().name))
for i in range(5):
name = "workr-{}".format(i)
threading.Thread(target=worker).start()

线程安全:线程执行一段代码,不会产生不确定的结果,那这段代码就是线程安全的

daemon 线程和 no-daemon 线程

这里的 daemon 不是 linux 中的守护进程

如果有 non-daemon 线程的时候,主线程退出时也不会杀掉所有daemon线程,直到所有 non-daemon 线程全部结束,如果还有 daemon 线程,主线程需要退出,会结束所有的 daemon 线程退出

threading.local

Python 提供 threading.local 类,将这个类实例化得到一个全局对象,但是不同线程使用这个对象存储的数据其他线程看不见。

ctx = threading.local()
ctx.x = 123

Threading.local 类构建了一个大字典,其元素是每一线程实例的地址为 key 和线程对象引用线程单独的字典的映射

{id(Thread)->(ref(Thread),thread-local dict)}

通过 threading.local 实例就可以在不同的线程中,安全的使用线程独有的数据,做到线程间数据隔离,如同本地变量一样安全。

threading.Timer

Threading.Timer 继承自 Thread,这个类用来定义多久执行一个函数

class threading.Timer(interval, function, args=None, kwargs=None)

Start 方法执行之后,Timer 对象会处于等待状态,等待了 interval 之后,开始执行 function 函数的

如果在执行函数之前的等待期间使用了 cancle 方法就会跳过执行函数结束。

def worker():
print("hello world")
t = threading.Timer(5,worker)

"Python进程与线程怎么理解"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

线程 进程 函数 安全 对象 数据 实例 就是 系统 不同 代码 内容 单位 堆栈 字典 实际 方法 更多 知识 解释器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天津市摩尔互联网科技 河南云网互联网络科技有限公司 互联网佳科技有限公司 互联网是不是新科技 疫情对互联网科技公司影响 猫创互联网科技 掌上梦互联网科技 卫星互联网科技股票 互联网科技博主是什么意思 互联网金融科技公司干啥的 贵州叶脉互联网科技有限公司所属行业 西安小鹰速贷互联网科技有限公司 世界互联网领先科技成果获奖 梅州GM互联网络科技有限公司 互联网风格科技公司名称 江苏互联网科技小贷 互联网科技接地气 万物互联网智能科技 科技信息时代互联网发展 米泉互联网科技专业怎么样 万易互联网科技 广西互联网科技公司 伴你行互联网科技有限公司 长亮科技 互联网金融 顶级互联网科技成果有哪些 和信科技工业互联网 风投北京互联网科技 广州梦谷互联网科技有限公司领导 互联网科技大会大佬 优雇互联网科技有限公司
0