gpt4 book ai didi

Python 线程——如何知道线程是否已经在运行?

转载 作者:太空宇宙 更新时间:2023-11-04 06:04:50 24 4
gpt4 key购买 nike

我有一个线程用来处理数据。现在它每次在文件夹中检测到新文件时都会触发。我正在用 Python 编写代码,但也许它更像是一个一般的编程问题?

我的问题有两个方面:

  1. 我应该使用这样的触发器(事件驱动,或多或少),还是应该使用基于时间的(每 3 分钟,创建一个新线程)?

  2. 如果我使用基于时间的方法并创建一个新线程,如果这两个线程正在处理相同的数据,是否会导致问题?有没有办法告诉他们一起工作或者如果存在第二个就不要产生第二个?

对于我的问题可能很天真,我深表歉意,我对多线程和多进程仍然很陌生,所以我仍然不知道什么时候使用什么。

最佳答案

据我了解,您使用单独的线程处理任何新文件,因此它的行为就像服务器使用单个例程处理多个请求。

1) 我认为时间触发的创建对您来说并不好,因为它不依赖于系统性能或要处理的文件数量。您可以将几个线程作为守护进程运行,并有一个主线程在任务到来时立即将任务分配给这些线程。如果同时有太多,你就放弃新的任务。另一方面,您可以创建一个新线程,在每次出现新文件时进行处理,然后在处理完成时加入

2) 您可以启动新线程,明确为其指定文件名。几个线程是否可能同时处理单个文件取决于您对文件的确切操作。一般来说,它变得比每个线程单个文件复杂得多

关于Python 线程——如何知道线程是否已经在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22715768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com