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 多线程暂停功能的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python