TLS返回nullptr

时间:2019-07-11 08:54:52

标签: python-2.7

我目前正在使用用于大学项目的软件,该软件已将python嵌入为C程序。他们在C端定义了一些方法,例如“延迟”和“打印”,这些方法获取锁定然后执行其工作。

我尝试使用线程模块创建一些简单的线程,如下所示: 1. Session = threading.Thread(target=test_threading(2, "abcd"))-程序正常运行 2. Session = threading.Thread(target=test_threading, args = (2, "abcd"))-程序以TLS退出并返回nullptr。

任何人都可以说出上面创建线程的方式与为什么第二种方式导致TLS nullptr为何有什么区别。

如果我们调用本地python方法,例如,也不要调用C端开发的软件本地方法。而不是delay(1)调用time.sleep(1)会导致程序正确执行。

#change session thread call to create error
def test_threading(num, name): 
    while True:
      print "heloo ", str(time.time()), " ", name
      delay(0.1)

def OnRun():
  while True:
    Session1 = threading.Thread(target=test_threading(2, "abcd"))
    #Session2 = threading.Thread(target=test_threading, args = (2, "abcd"))

    # start the session threads

    Session1.start()
    #Session2.start()

  # wait till the session threads are complete
    Session1.join()
    #Session2.join()
    print "joining"
    delay(1)

预期:heloo 1223656 abcd

0 个答案:

没有答案