python 多线程和多线程变量共享问题介绍

本文介绍了Python多线程的基本使用,包括如何启动线程执行函数和类。接着探讨了多线程共享变量的情况,展示了资源竞争现象,并通过实例解释了资源竞争产生的原因。接着,文章引入互斥锁来解决资源竞争问题,说明了互斥锁的工作原理和最佳实践。最后,讨论了多锁环境下可能导致的死锁问题及其解决策略。
摘要由CSDN通过智能技术生成

1、demo

第一个代码是多线程的简单使用,编写了线程如何执行函数和类。

import threading
import time


class ClassName(threading.Thread):
	"""创建类,通过多线程执行"""
	def run(self):
		for i in range(5):
			print(i)
			time.sleep(1)

	
def sing():
	for i in range(1,11):
		print("唱歌第 %d 遍" % i)
		time.sleep(1)



def dance():
	for i in range(1,16):
		print("跳舞第 %d 遍" % i)
		time.sleep(1)


def main():
	t1 = threading.Thread(target = sing)
	t2 = threading.Thread(target = dance)
	t = ClassName()
	
	# 启动线程
	t1.start()
	t2.start()
	t.start()

	while True:
		length = len(threading.enumerate())
		print(&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值