многопроцессорность: как передать dict между несколькими процессами?

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

Если я распечатаю словарь D в дочерний процесс, я вижу изменения, которые были сделаны в нем (то есть в D). Но после того, как основной процесс присоединяется к Q, если я печатаю D, это пустой dict!

Я понимаю, что это проблема синхронизации / блокировки. Может кто-нибудь сказать мне, что здесь происходит, и как я могу синхронизировать доступ к D?

97
задан martineau 27 November 2018 в 02:09
поделиться