python线程暂停和恢复的方法是什么

44次阅读
没有评论

共计 912 个字符,预计需要花费 3 分钟才能阅读完成。

在 Python 中,可以使用 threading 模块来创建和管理线程。在线程中,可以使用 Event 对象或者 Condition 对象来实现线程的暂停和恢复。

  1. 使用 Event 对象来实现线程的暂停和恢复:
    • 创建一个 Event 对象:event = threading.Event()
    • 在线程中使用 event.wait() 来暂停线程,直到收到信号。
    • 使用 event.set() 来发送信号,恢复线程。

示例代码:

import threading
import time

def worker(event):
    print("Worker thread started")
    event.wait()  # 等待收到信号
    print("Worker thread resumed")
    # 执行其他操作

event = threading.Event()
t = threading.Thread(target=worker, args=(event,))
t.start()

time.sleep(2)  # 等待 2 秒

event.set()  # 发送信号,恢复线程
  1. 使用 Condition 对象来实现线程的暂停和恢复:
    • 创建一个 Condition 对象:condition = threading.Condition()
    • 在线程中使用 condition.wait() 来暂停线程,直到收到信号。
    • 使用 condition.notify() 或者 condition.notifyAll() 来发送信号,恢复线程。

示例代码:

import threading
import time

def worker(condition):
    print("Worker thread started")
    with condition:
        condition.wait()  # 等待收到信号
    print("Worker thread resumed")
    # 执行其他操作

condition = threading.Condition()
t = threading.Thread(target=worker, args=(condition,))
t.start()

time.sleep(2)  # 等待 2 秒

with condition:
    condition.notify()  # 发送信号,恢复线程

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-21发表,共计912字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)