我在Delphi应用程序中使用Python托管Delphi组件的Python脚本。我想创建继续按脚本运行的后台任务。
是否可以创建即使脚本执行结束也继续运行的线程(但不是主机进程,它继续运行)。我注意到如果执行脚本结束并且线程正在运行,程序会卡住。但是,如果我等到线程完成,一切都会顺利。
我正在尝试为线程使用“线程”标准模块。
答案 0 :(得分:2)
Python有自己的标准线程模块,如果有帮助的话。您可以使用线程模块创建线程对象。
线程模块使用简单的Lock对象提供低级别线程和同步。
同样,不确定这是否有帮助,因为您在Delphi环境下使用Python。
答案 1 :(得分:0)
根据定义,线程是同一进程的一部分。如果你想让它们继续运行,它们需要分成一个新的过程;见os.fork()和朋友。
您可能希望在生成脚本后立即(通过exit()等)结束新进程。
答案 2 :(得分:0)
如果一个进程终止,它的所有线程就会死掉,所以解决方案可能是一个单独的进程。
查看创建xmlrpc服务器是否对您有所帮助,这是进程间通信的简单解决方案。