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

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

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

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

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
1 227
3

Ответы 3

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

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

Выполнение скрипта в хост-приложениях заканчивается, но процесс продолжается.

Harriv 15.09.2008 21:10

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

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

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

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

нить Документация

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

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

Другие вопросы по теме