Python015__多线程

·## 多线程

  • 在同一时间执行多个函数 时间片轮转

开始两个线程

t = threading.Thread(target=函数名,args=(元组参数列表),name='自定义线程名字')
t1 = threading.Thread(target=chi)   # 准备工作
t2 = threading.Thread(target=he)
t1.start()   # 启动线程
  • 并行:真的多任务

  • 并发:假的多任务

  • threading.enumerate()
    查看所有的线程,返回一个列表,start之后,列表中才会有这个线程,start之后这个线程才有效

  • 线程名字.join()
    等待这个线程执行完毕之后再执行其他的代码

  • threading.current_thread().name
    获取当前运行线程的名字

  • treading.Thread.getName(线程对象名)
    返回线程的名字

  • t1.setDaemon(True)
    设置成为守护线程,就是士兵,将军死了就都死了,默认是false

  • treading.Lock()
    这是一个类,返回一个引用,a.acquire() 开始位置 a.release() 结束位置,谁先上锁,谁就先执行

主线程执行完毕之后子线程也就结束了主线程最后结束

类线程

import threading
import time

class Person(threading.Thread):
	def show(self):
		print("show")
	def run(self):
		for i in range(5):
			time.sleep(1)
			print("类线程")
		show()


if __name__ == 'main':
	t = Person()
	t.start()

线程类只会执行一个函数就是 run 函数
多个线程之间共享全局变量

什么时候使用global

在一个函数中,对全局变量进行修改的时候,如果不改变变量的引用,就不用global,如果改变的变量的引用就需要使用global,主要是看引用的变化

猜你喜欢

转载自blog.csdn.net/weixin_40639095/article/details/84633534