千家信息网

python线程与进程学习手记

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,多线程 vs 多进程程序:一堆代码以文本形式存入一个文档进程:程序运行的一个状态包含地址空间,内存,数据栈等每个进程由自己完成独立的运行环境,多进程共享数据是一个问题线程一个进程的独立运行片段,一个进
千家信息网最后更新 2026年10月31日python线程与进程学习手记

多线程 vs 多进程

  • 程序:一堆代码以文本形式存入一个文档
  • 进程:程序运行的一个状态
    • 包含地址空间,内存,数据栈等
    • 每个进程由自己完成独立的运行环境,多进程共享数据是一个问题
  • 线程
    • 一个进程的独立运行片段,一个进程可以有多个线程
    • 轻量化的进程
    • 一个进程的多个线程间共享数据和上下文运行环境
    • 共享互斥问题
  • 全局解释锁(GIL)
    • python代码的执行是由python虚拟机进行控制
    • 在主循环中有一个控制线程在执行

threading的使用

  • 直接利用threading.Thread生成Thread示例
    1. t = threading.Thread(target=xxx, args=(xxx,))
    2. t.start():启动多线程
    3. t.join(): 等待多线程执行完成
  • 案例01:

import threading
import time

def loop01(in01):
print("start loop01 at : {0}".format(time.ctime()))
print("loop01参数:{0}".format(in01))
time.sleep(4)
print("end loop01 at : {0}".format(time.ctime()))

def loop02(in01, in02):
print('start loop02 at : {0}'.format(time.ctime()))
print("loop02参数,第一个参数{0},第二个参数{1}".format(in01,in02))
time.sleep(2)
print("end loop02 at : {0}".format(time.ctime()))

if name == 'main':
print("Starting at : {0}".format(time.ctime()))
t1 = threading.Thread(target=loop01,args=("loop01参数",))
t2 = threading.Thread(target=loop02,args=("loop02参数1","loop02参数2"))
t1.start()
t2.start()
t1.join()
t2.join()
print("All done at {0}".format(time.ctime()))
while True:
time.sleep(10)

进程 线程 参数 运行 数据 代码 多个 环境 程序 问题 控制 独立 上下 上下文 全局 内存 地址 形式 文本 文档 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技靠谱吗 美国互联网保险保险科技 高科技与互联网 万易互联网科技 互联网科技公司怎么样 深圳艾佳互联网科技 互联网科技产品 哈尔滨新华互联网科技学院 北京大学互联网科技怎么样 互联网科技实习生岗位职责 团飞科技与伯堂互联网服务平台 朱啸虎曾投资哪些互联网科技企业 山东子淼互联网科技有限公司 伍佰万互联网科技怎么赚钱 云鲸互联网络科技有限公司 艺电能源互联网科技有限公司招聘 易租星互联网科技有限公司 北京天晋互联网科技有限公司 深圳互联网科技园地址 互联网的黑科技实验室 互联网金融科技 互联网科技工作委员会主任 互联网络科技有限公司 创业天下互联网科技有限公司 重庆威客帮互联网科技 互联网金融科技公司干啥的 湖北辰鑫科技互联网 长沙渺峰互联网科技有限公司 互联网科技和医药行业 互联网高科技绘画
0