python 多线程暂停功能
2021/11/10 14:09:55
本文主要是介绍python 多线程暂停功能,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
何鑫思想是:
decorator是多线程安全的
看如下代码, 思想就是
让线程A进入decorator并loop, 首先打印pause
让线程B进入decorator, 如果打印, 证明是线程安全的
import multiprocessing import threading import time import os def decorator(func): def _inner(*args, **kwargs): while args[0].status == 0: print threading.current_thread().ident, 'pause' time.sleep(5) func(*args, **kwargs) return _inner class A(threading.Thread): def __init__(self): super(A, self).__init__() self.status = 1 def pause(self): self.status = 0 print threading.current_thread().ident, 'receive pause' def recover_form_pause(self): self.status = 1 def run(self): print threading.current_thread().ident, 'start' time.sleep(1) self.func1() @decorator def func1(self): print threading.current_thread().ident, 'func1' time.sleep(1) self.func2() @decorator def func2(self): print threading.current_thread().ident, 'func2' time.sleep(1) self.func3() @decorator def func3(self): print threading.current_thread().ident, 'func3' self.func1() time.sleep(1) if __name__ == '__main__': print 'main thread', threading.current_thread().ident p1 = A() p1.start() p1.pause() time.sleep(2) p2 = A() p2.start() p2.pause() # p1.recover_form_pause() # p2.recover_form_pause()
这篇关于python 多线程暂停功能的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型