python学习——多线程

博客介绍了线程相关知识,线程是程序执行最小单元,依赖进程。程序运行会创建主线程,线程共享全局变量。可通过threading模块的Thread类创建线程。为解决多线程资源竞争问题引入互斥锁,用Lock类创建。还提到死锁情况及避免方法。

线程

概念:程序执行的最小单元,依赖于进程
特点:
  • 程序运行起来,就给它创建了一个主线程,等待子线程结束后再结束
  • 共享全局变量,通过args参数给线程传递数据
  • 从系统开销讲,进程>线程>协程
创建:threading模块Thread类创建一个对象

代码:

import threading
t = threading.Thread(target = 函数名,args=参数)
t.start()
互斥锁
  • 解决多线程共享全局变量时资源竞争问题所引入的锁机制
创建:threading模块Lock类创建一个对象
Import threading
mutex = threading.Lock()				#创建锁
mutex.acquire()							#上锁(阻塞)
mutex.release()							#解锁(解阻塞)
死锁
  • 如果两个线程同时等待对方资源就会死锁
  • 1,程序设计的时候避免
  • 2,超时时间
  • 3,银行家算法

主线程会等待全部子线程结束后在结束
enumerate查看线程数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值