Python 2.6曾经有一个名为tmap
的未记录函数。 python 2.7中没有这个函数。
这个tmap
函数存在于线程包中。我试图在2.7中搜索任何可以提供类似功能但没有运气的功能。
我试图将tmap从python 2.6.7移植到2.7。它类似于:
def tmap():
ret = {}
_active_limbo_lock.acquire()
for k, val in _active.items():
ret[k] = val._gettid()
_active_limbo_lock.release()
return ret
gettid就像:
def _gettid(self):
if self.__taskid == -1:
try:
self.__taskid = ctypes.CDLL('libc.so.6').syscall(186)
except:
pass
return self.__taskid
但是我总是得到主线程的线程。 python版本之间使用的API是否有任何变化,导致这个?
答案 0 :(得分:0)
移植时我错过了__bootstrap_inner方法中的_gettid。我认为需要在线程的上下文中调用它。在我的情况下,它在主线程的上下文中被调用,因此结果。