Я размещаю скрипт Python с компонентами Python для Delphi внутри моего приложения Delphi. Я хочу создать фоновые задачи, которые будут выполняться по сценарию.
Можно ли создавать потоки, которые продолжают работать, даже если выполнение скрипта завершается (но не хост-процесс, который продолжает работать). Я заметил, что программа застревает, если выполняющийся скрипт завершается и поток работает. Однако, если я подожду завершения потока, все будет в порядке.
Я пытаюсь использовать стандартный модуль "threading" для потоков.






Потоки по определению являются частью одного процесса. Если вы хотите, чтобы они продолжали работать, их нужно разделить на новый процесс; см. os.fork () и друзей.
Вероятно, вы захотите, чтобы новый процесс завершился (через exit () или тому подобное) сразу после создания скрипта.
Если процесс умирает, все его потоки умирают вместе с ним, поэтому решением может быть отдельный процесс.
Посмотрите, может ли вам помочь создание сервера xmlrpc, это простое решение для межпроцессного взаимодействия.
У Python есть собственный модуль потоковой передачи, который входит в стандартную комплектацию, если это помогает. Вы можете создавать объекты потока, используя модуль потоковой передачи.
Модуль потоков предлагает низкоуровневую потоковую передачу и синхронизацию с использованием простых объектов Lock.
Опять же, не уверен, поможет ли это, поскольку вы используете Python в среде Delphi.
Выполнение скрипта в хост-приложениях заканчивается, но процесс продолжается.