Есть ли способ сделать в Python отменяемую функцию вне потока? ⇐ Python

Программы на Python
Anonymous
Есть ли способ сделать в Python отменяемую функцию вне потока?

Сообщение Anonymous »

У меня возникли большие проблемы с попыткой создать функцию, которая действует как входные данные при вызове в потоке и может быть отменена в любой момент. Эта функция по-прежнему будет возвращать значение при вызове с использованием потока. Я провел небольшое тестирование модуля, у которого нет входного вызова.
Я попробовал использовать модуль multiprocessing, но столкнулся с несколькими проблемами:
  • Если бы я использовал multiprocessing.Process, его можно было бы завершить, но я не смог бы получить результат.
  • Если бы я использовал multiprocessing.pool, он вернул бы значение, но я не смог найти способ завершить его.
Есть ли способ объединить процесс и пул, чтобы он работал? Я мало работал с многопроцессорной обработкой, и мне нужно руководство о том, как полностью реализовать описанные выше методы.
Мой код должен выглядеть примерно так:
from threading import Thread
import time
def inp(prompt):
return input(prompt)

def stop():
time.sleep(1)
# close the thread

t=Thread(target=inp,args=['Enter your name: '])
t2=Thread(target=stop) # Simulate cancelling the input thread
t.start()
t2.start()

# Get the value of the return statement of t


Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-python

Вернуться в «Python»