我可以暂停和恢复的线程?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以暂停和恢复的线程?相关的知识,希望对你有一定的参考价值。
我正在尝试创建一个在后台执行操作的线程。我需要能够在需要时有效地“暂停”它,并在以后再次“恢复”它。此外,如果线程在我“暂停”它时正在做某事,它应该让调用线程等到它完成它正在做的事情。
我对Python中的多线程很新,所以我还没有那么远。
除了让调用线程等待,如果在我的线程正在执行某些操作时调用暂停,我几乎可以做的事情。
以下是我在代码中尝试实现的概述:
import threading, time
class Me(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
#flag to pause thread
self.paused = False
def run(self):
while True:
if not self.paused:
#thread should do the thing if
#not paused
print 'do the thing'
time.sleep(5)
def pause(self):
self.paused = True
#this is should make the calling thread wait if pause() is
#called while the thread is 'doing the thing', until it is
#finished 'doing the thing'
#should just resume the thread
def resume(self):
self.paused = False
我想我基本上需要一个锁定机制,但在同一个线程内?
以上是关于我可以暂停和恢复的线程?的主要内容,如果未能解决你的问题,请参考以下文章