无法从python 2.7

时间:2015-06-04 06:29:53

标签: python ubuntu

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是否有任何变化,导致这个?

1 个答案:

答案 0 :(得分:0)

移植时我错过了__bootstrap_inner方法中的_gettid。我认为需要在线程的上下文中调用它。在我的情况下,它在主线程的上下文中被调用,因此结果。