#一些方法
t1 = threading.Thread(target=你写的函数名,args=(传入变量(如果只有一个变量就必须在后加上逗号),),name=随便取一个线程名):把一个线程实例化给t1,这个线程负责执行target=你写的函数名
t1.start():负责执行启动这个线程
t1.join():必须要等待你的子线程执行完成后再执行主线程
t1.setDeamon(True):当你的主线程执行完毕后,不管子线程有没有执行完成都退出主程序,注意不能和t1.join()一起使用。
threading.current_thread().name:打印出线程名
threadLock = threading.Lock()#用于保证同一时间只有一段程序对某变量进行修改
threadLock.lock.acquire()#上锁
threadLock.lock.release()#开锁
acquire():上锁,这个时候只能运行上锁后的代码
release():解锁,解锁后把资源让出来,给其他线程使用
#类方法实现多线程
import threading
import time
class mop_floor(threading.Thread):
def __init__(self):
super().__init__()
def run(self):
print('我要拖地了')
time.sleep(1)
print('地拖完了')
import queue
q = queue.Queue(maxsize=100)#定义一个Queue表列,大小100个元素
q.put('hello')#放置一个元素
q.get()#取出一个元素,是一个堵塞的,会等待直到获取到数据