Могу я спросить, как разные процессы могут обновлять один и тот же словарь в библиотеке concurrent.futures? Я понимаю, что встроенный процесс python не взаимодействует друг с другом, так каков же самый лучший способ заставить процесс обновить глобальный словарь? Вот пример кода
import concurrent.futures
quantity = {'apple': 0, 'pear': 0}
price = {'apple': 0, 'pear': 0}
args = [('apple', 1, 10), ('pear', 2,30)]
def update(args):
quantity[args[0]] = args[1]
price[args[0]] = args[2]
with concurrent.futures.ProcessPoolExecutor() as executor:
executor.map(update, args)
Как я могу заставить исполнителя обновить price
и quantity
dict? Я старался избегать ThreadPool, поскольку не знаю, как управлять гоночными условиями, которые портят часть моего проекта (я хочу обновить список, а ThreadPool не сохраняет его в том порядке, в котором я хочу).
Большое спасибо