当前位置: 首页 > 面试题库 >

为什么python threading.Thread对象具有“开始”但没有“停止”?

仲和韵
2023-03-14
问题内容

python模块线程具有一个Thread用于在其他线程中运行进程和功能的对象。该对象有一个start方法,但没有stop方法。Thread调用简单stop方法无法停止的原因是什么?我可以想象使用该join方法不方便的情况…


问题答案:

start可以是通用的并且有意义,因为它只是触发了线程的目标,但是通用可以stop做什么?根据线程在做什么,您可能必须关闭网络连接,释放系统资源,转储文件和其他流,或其他任何数量的自定义,重要任务。任何能够以通用方式甚至完成大多数这些事情的系统都会给每个线程增加太多的开销,这是不值得的,并且会变得如此复杂,并且遇到特殊情况,几乎不可能工作用。您可以跟踪所有已创建的线程,而无需join在主线程中访问它们,然后在主线程关闭自身时检查它们的运行状态并向它们传递某种终止消息



 类似资料:
  • 问题内容: 有谁知道为什么不调用Python的函数,因为已经有一个可以删除并返回最后一个元素(索引为-1)并且语义与该用法一致的原因? 问题答案: 因为“ append”早在想到“ pop”之前就已存在。受Python 0.9.1 支持的list.append于1991年初。通过比较,这是在comp.lang.python上讨论的有关在1997年添加pop的一部分。Guido写道: 为了实现一个堆

  • 这是一个取自现有代码库的cucumber场景大纲,但我被要求使用TestNG尝试它。一些东西(场景(),场景(),TestNGCucumberRunner,数据提供商)已经从stackoverflow上的另一个帖子中删除,因为我不知道如何使用TestNG使场景大纲发挥良好。 在执行时,唯一的错误是NullPointerException,因为WebDriver获取其值时@BeforeClass未触

  • 问题内容: 为什么大多数其他数据类型都没有Java的String基本类型? 问题答案: 字符串是一个对象,根本不是原始类型,只是一个字符数组。James Gosling的访谈 摘录摘述了Java中根本存在原始类型的原因,这很有趣。 Bill Venners: Java为什么会有原始类型?为什么不是所有事物都只是一个对象? James Gosling: 完全是效率问题。有各种各样的人已经建立了以in

  • 我已经创建了一个 除了一些其他的: 在我的aplication.properties 而这是的入口点: 仍然,我没有看到下的endpointhttps://localhost:8443/v3/api-docs.只有那些来自的endpoint: 我使用的是Spring Boot。 这是我使用的整个pom.xml: 我已经尝试按照这里的建议添加依赖项 但它仍然不起作用。 知道这是什么原因吗?

  • 问题内容: 我有一个类MyThread。在那我有一个方法示例。我试图从相同的对象上下文中运行它。请看一下代码: 看起来很简单,不是吗。但是当我运行它时,我得到这个错误 现在,我就在那里使用该方法。那怎么了 请帮忙 编辑:这是堆栈跟踪 我这样称呼它 抱歉,我无法发布redisOps类代码。但我可以向您保证,它的效果很好 问题答案: 您的缩进已弄糟,并且您混用了制表符和空格。运行脚本进行验证。