python - 如果一个线程成功,则终止所有其他线程

标签 python

您好,我正在尝试允许同时测试多个单词,但我遇到了多线程问题!如果一个线程成功,是否可以终止所有其他线程?也许我对线程的理解不正确!很困惑!这是我的代码:

def testPass(hash, dname):
   dicFile = open(dname,'r')
   for word in dicFile.readlines():
      word = word.strip('\n')
      t = Thread(target=verifyWord, args=(hash, word))
      t.start()
   return

所以我想做一些事情,比如如果其中一个成功退出循环。我不知道如何处理这个问题。

最佳答案

强制线程突然终止(即终止它们)通常不是一个好主意 - 从同步的角度来看,可能会发生不好的事情。

您可以通过让所有线程定期检查标志来实现您想要的目的,并告诉它们在设置标志时尽快终止(但以安全的方式)。

This answer应该会让你顺利进行。

关于python - 如果一个线程成功,则终止所有其他线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17614514/

相关文章:

python - 现在尝试使用 BeautifulSoup 和 Python 3 从类中提取 `href`。

python - 在 Windows 中设置 python 3 环境的简单方法 : just install from python. org,或者真的会从 miniconda 或类似的东西中受益吗?

python - 在 python 中 for 循环的最后一次迭代期间执行操作

python - Pandas 有条件地将数据框添加到另一个数据框

python 错误: AttributeError: 'datetime.datetime' object has no attribute 'split'

python - 将文件从一个文件夹复制到另一个文件夹(并且不覆盖)

python pandas方法 "ffill"

python - 使用 Anaconda 安装 GDAL

python - Python中的for循环仅迭代最后一个元素

python - CPython 中的 AttributeError 消息在哪里实现?