1

我在我的 Delphi 应用程序中使用 Python 为 Delphi 组件托管 Python 脚本。我想创建通过脚本继续运行的后台任务。

即使脚本执行结束,是否可以创建继续运行的线程(但不能创建继续运行的主机进程)。我注意到如果执行脚本结束并且有线程正在运行,程序就会卡住。但是,如果我等到线程完成,一切都会好起来的。

我正在尝试对线程使用“线程”标准模块。

4

3 回答 3

2

如果有帮助,Python 有自己的标准线程模块。您可以使用 threading 模块创建线程对象。

线程文档

线程文档

thread 模块使用简单的 Lock 对象提供低级线程和同步。

同样,不确定这是否有帮助,因为您在 Delphi 环境下使用 Python。

于 2008-09-15T19:05:12.460 回答
0

根据定义,线程是同一进程的一部分。如果您希望它们继续运行,则需要将它们分叉到一个新进程中;请参阅 os.fork() 和朋友。

您可能希望新进程在生成脚本后立即结束(通过 exit() 等)。

于 2008-09-15T15:10:03.227 回答
0

如果一个进程死亡,它的所有线程都会随之死亡,因此解决方案可能是一个单独的进程。

看看创建一个 xmlrpc 服务器是否对您有帮助,这是一个用于进程间通信的简单解决方案。

于 2008-09-15T15:12:27.043 回答