线程
线程概念
- 在线程内部默认存在一个线程——主线程
- 现代的操作系统都是以线程为调度的基本单位
创建子线程
- 创建Thread类的对象
import threading
对象名 = threading.Thread(target=**,(args,kwargs))
- 创建线程类(该类对象一旦创建,将自动执行run方法)
class mythread(threading.Thread):
def run(self):
pass
启动线程
线程名.start()
阻塞等待子线程执行完成
线程名.join()
多线程同步
同步就是协同步调,按预定的先后次序进行运行
如:进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,
于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。
互斥锁
使用互斥锁能够使得在同一时间点,保证只有一个线程能够成功获取
1.创建互斥锁 lock = threading.LOCK()
2.申请互斥锁 lock.acquire() = lock.acquire(True) = lock.acquire(True,-1)
3.释放互斥锁 lock.realease()
lock.acquire(True,30)——阻塞等待30s