2024-05-17 15:12:48 发布
网友
在下面的陈述中,是否有一个Lock.acquire/release正在被隐藏起来:
Lock.acquire/release
my_thread_local = threading.local() my_thread_local.some_value = 1
这个怎么样:
local_variable = my_thread_local.some_value
仅当回退实现正在使用时。
如果没有以其他方式提供线程本地存储(即,如果在编译解释器时未定义Py_HAVE_NATIVE_TLS),则将使用包含显式锁定的实现。你知道吗
Py_HAVE_NATIVE_TLS
在具有适当本机实现的平台上,因此Python运行时不需要模拟此功能,因此也不需要在Python运行时层进行锁定。你知道吗
在撰写本文时(2017年7月),python3开发分支的回退实现was recently removed(python3不再有BeOS或其他以前支持的模糊操作系统的线程模块)。因此,在python3的未来版本中,线程本地存储的本机版本将始终在线程可用时使用。你知道吗
(这里有意不介绍python3.0:2.7和3.1及更高版本中的本机线程本地存储实现在3.0中不在其他版本中托管它们的代码中的同一位置,我不认为花时间深入研究以确定功能是否临时移动了如果它完全不见了)。
仅当回退实现正在使用时。
如果没有以其他方式提供线程本地存储(即,如果在编译解释器时未定义
Py_HAVE_NATIVE_TLS
),则将使用包含显式锁定的实现。你知道吗在具有适当本机实现的平台上,因此Python运行时不需要模拟此功能,因此也不需要在Python运行时层进行锁定。你知道吗
在撰写本文时(2017年7月),python3开发分支的回退实现was recently removed(python3不再有BeOS或其他以前支持的模糊操作系统的线程模块)。因此,在python3的未来版本中,线程本地存储的本机版本将始终在线程可用时使用。你知道吗
流程图:
(这里有意不介绍python3.0:2.7和3.1及更高版本中的本机线程本地存储实现在3.0中不在其他版本中托管它们的代码中的同一位置,我不认为花时间深入研究以确定功能是否临时移动了如果它完全不见了)。
相关问题 更多 >
编程相关推荐