python多线程

python多线程

1.线程的基础概念-

线程:线程是程序执行的最小单位

  • 同属一个进程的多个线程共享进程所拥有所有资源

    一.线程的创建步骤

1.导入线程模块

import threading

2.通过线程类创建线程对象

#线程对象=threading.Thread(target=任务名)
thread =threading.Thread(target=work)

3.启动线程执行任务

#线程对象.start()
thread.start()

二.线程执行带参数的任务

awgs :以元组的形式给执行任务传参

kwags :以字典方式

  • 主线程会等待所有的子线程执行结束后,主线程在结束

为了不让主线程等待:

  • 设置守护主线程:
import threading
threading.Thread(target=work,daemon=True)
  • 线程的执行是无序的

三.获取当前的线程信息

#线程对象=thread
thread=threading.current_thread()
print(thread)
  • 线程共享全局变量

  • 多线程同时操作全局变量会导致数据出错问题,可以实使用线程同步

四.互斥锁的使用

1.互斥锁的创建

mutex =threading.Lock()

2.上锁

mutex.acquire()

3.释放锁

mutex.release()

死锁:一直等对方释放锁的情景

你可能感兴趣的:(python)