![](https://img-blog.csdnimg.cn/20201111201612817.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
python线程
线程的一些运用。熟练线程而用
无痕的雨
这个作者很懒,什么都没留下…
展开
-
7.定时线程
定时线程timethread=threading.Timer(4,go) #线程定时器import timeimport osimport threadingdef go(): time.sleep(5) os.system("notepad")#打开笔记本i=0while True: time.sleep(1) if i%4==0: timethread=threading.Timer(4,go) timethread.原创 2020-11-11 21:07:21 · 291 阅读 · 0 评论 -
6.condition线程通信与事件
condition线程通信与事件cond=threading.Condition()#线程的条件变量with cond:#with cond 所有代码都要被 with cond 管辖cond.wait()#让线程进行等待cond.notify() # 通知释放函数import threadingimport timecond=threading.Condition()#线程的条件变量def go1(): with cond:#with cond 所有代码都要被 with原创 2020-11-11 21:04:04 · 95 阅读 · 0 评论 -
5.线程通信
线程通信e=threading.Event()#Event()事件,定义一个事件e.wait()#等待,后续代码不在执行,等待set之后在执行e.clear()#重置 不重置第二次就不会发生等待作用了t.set()#激发事件 是e.setimport threadingimport timeimport osmute=threading.RLock()def goevent(): e=threading.Event()#Event()事件,定义一个事件 def go原创 2020-11-11 20:52:29 · 86 阅读 · 1 评论 -
4.锁定线程匹配数量
锁定线程匹配数量#为了合理的利用资源1000,必须N=10个线程一起执行bar=threading.Barrier(3) #必须凑一对三个才可以一起执行凑不到三个线程就继续等待bar.wait() #线程等待函数import timeimport threading#为了合理的利用资源1000,必须N=10个线程一起执行bar=threading.Barrier(3)#必须凑一对三个才可以一起执行def sever(): print(threading.current原创 2020-11-11 20:40:54 · 80 阅读 · 0 评论 -
3.信号量限制线程数量
信号量限制线程数量sem=threading.Semaphore(3)#限制线程的数量最大为三个,先运行三个线程在逐个运行单个线程import threadingimport timesem=threading.Semaphore(3)#限制线程的数量最大为三个,先运行三个线程在逐个运行单个线程def gothread(): with sem: for i in range(10): print(threading.current_threa原创 2020-11-11 20:35:16 · 354 阅读 · 0 评论 -
2.线程锁
锁 Lock()mutex=threading.Lock() # 创建锁mutex.acquire(1) #锁住成功mutex.release() #释放锁 完成任务—》释放被锁住的线程import threadingimport timenum=0mutex=threading.Lock()class Mythread(threading.Thread): def run(self): global num if mutex.a原创 2020-11-11 20:28:24 · 160 阅读 · 0 评论 -
1.线程的三种创建方式
1.线程的创建方式#第一种多线程方式 借助模块threading"""import win32apiimport threadingdef show(i): win32api.MessageBox(0,"你的账户很危险"+str(i),"来自支付宝的问候",6)#target=show 线程函数,args=()参数 类的构造实现多线程,不考虑通信冲突threading.Thread(target=show,args=(1,)).start()threading.Thread(原创 2020-11-11 20:19:40 · 257 阅读 · 0 评论