Как создавать потоки под Python для Delphi

Я размещаю скрипт Python с компонентами Python для Delphi внутри моего приложения Delphi. Я хочу создать фоновые задачи, которые будут выполняться по сценарию.

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

Я пытаюсь использовать стандартный модуль "threading" для потоков.


person Harriv    schedule 15.09.2008    source источник


Ответы (3)


У Python есть собственный модуль потоковой передачи, который входит в стандартную комплектацию, если это помогает. Вы можете создавать объекты потока с помощью модуля threading.

документация по потокам

поток документации

Модуль потоков предлагает низкоуровневую потоковую передачу и синхронизацию с использованием простых объектов Lock.

Опять же, не уверен, поможет ли это, поскольку вы используете Python в среде Delphi.

person junkforce    schedule 15.09.2008

Если процесс умирает, все его потоки умирают вместе с ним, поэтому решением может быть отдельный процесс.

Посмотрите, может ли вам помочь создание xmlrpc-сервера, это простое решение для межпроцессного взаимодействия.

person Toni Ruža    schedule 15.09.2008

Потоки по определению являются частью одного процесса. Если вы хотите, чтобы они продолжали работать, их нужно разделить на новый процесс; см. os.fork () и друзей.

Вы, вероятно, захотите, чтобы новый процесс завершился (через exit () или тому подобное) сразу после создания скрипта.

person pjz    schedule 15.09.2008
comment
Выполнение скрипта в хост-приложениях заканчивается, но процесс продолжается. - person Harriv; 15.09.2008