В Python несколько процессов в пуле процессов столкнулись с ошибками при изменении общих переменных, созданных модулем MPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 В Python несколько процессов в пуле процессов столкнулись с ошибками при изменении общих переменных, созданных модулем M

Сообщение Anonymous »


из пула многопроцессорного импорта, диспетчер задача определения (аргументы): k, v,sharedDict, блокировка = аргументы с замком: если k нет вsharedDict: sharedDict[k] = {} sharedDict[k]['current'] = v print(f"sharedDict[k]['current'] = {sharedDict[k]['current']}") защита основной(): менеджер = Менеджер() блокировка = менеджер.Lock() дик = менеджер.дикт() пул = Пул (процессы = 2) задачи = [('a', {'A': 1}, dic, lock), ('b', {'B': 2}, dic, lock), ('c', {'C': 3 }, dic, блокировка), ('d', {'D': 4}, dic, блокировка)] пул.карта(задача, задачи) пул.закрытие() пул.join() если __name__ == '__main__': основной() Когда я запускаю приведенный выше код, эта строка выдает ошибку: print(f"sharedDict[k]['current'] ={sharedDict[k]['current']}"),KeyError: 'current', хотя я явно добавил значение в словарь. Надеюсь, кто-нибудь сможет мне помочь.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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