У меня есть несколько объектов (например, pandas dataframes), к которым обращаются несколько потоков. Я хочу заблокировать объекты, чтобы всегда только один поток мог получить доступ к объектам.
Например, у меня есть три кадра данных панд:
DF_A
DF_B
DF_C
С помощью класса threading.LOCK мне нужно инициировать экземпляр для каждого объекта (DF_A, DF_B, DF_C)
lock_df_a = threading.LOCK()
with lock_df_a:
do_something_with(DF_A)
Есть ли возможность блокировки с помощью параметра? Примерно так:
lock_df = threading.LOCK_DYN()
with lock_df('DF_A'):
do_something_with(DF_A)