Есть ли причина использовать Python threading.local() вместо ContextVar (в >= 3.7)Python

Программы на Python
Ответить
Anonymous
 Есть ли причина использовать Python threading.local() вместо ContextVar (в >= 3.7)

Сообщение Anonymous »

Локальные данные потока Python и ContextVar, похоже, достигают одного и того же (хотя имеют немного разные API), с единственной разницей, с которой сталкивается пользователь, заключается в том, что ContextVar работает с асинхронным кодом (сопрограммы и asyncio), а локальные данные потока — нет.
Действительно ли это единственная практическая разница?
Означает ли это, что любой код предназначен для среды выполнения >= 3.7 (когда был введен ContextVar) лучше использовать ContextVar везде, где в прошлом могли использоваться локальные данные потока? Или есть причина по-прежнему отдавать предпочтение локальным данным потока? (За исключением случаев, когда вы специально хотите связать состояние с потоком, а не с контекстом.)

Подробнее здесь: https://stackoverflow.com/questions/688 ... textvar-in
Ответить

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

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

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

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

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