一个@decorator,用于在线程本地存储中的类中缓存属性。
tls-propert的Python项目详细描述
@tls_property是一个超小型的库,可以帮助您编写 线程安全类。
就像一个@cached_property, 但值将仅为当前线程缓存。
垃圾收集是受人尊重的,@tls_property不会搞砸它。
fromsome_libraryimportNonThreadsafeSuperClientfromtls_propertyimporttls_propertyclassSuperClientWrapper:@tls_propertydefnonthreadsafe_client(self)->NonThreadsafeSuperClient:returnNonThreadsafeSuperClient()
另外,通过@tls_propertydel
ete:
client=SuperClientWrapper()client.something()delclient.nonthreadsafe_clientclient.something()
模块在python==2.7和python~=3.4上工作。
安装
pip install tls-property
许可证
公共域:CC0 1.0 Universal。