В настоящее время модуль shelve не поддерживает возможность одновременного обновления. Одновременное чтение допускается, но для записи программа должна получить исключительный доступ к хранилищу. Хранилище можно разрушить, если несколько процессов будут выполнять запись в него одновременно, а это, например, в серверных сценариях может происходить часто. Если изменять данные в хранилищах может потребоваться сразу нескольким процессам, оберните операции обновления данных в вызов функции os.open из стандартной библиотеки, чтобы заблокировать доступ к файлу и обеспечить исключительный доступ.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011