2016-08-21 76 views
0

我尝试了很多搜索,但并不真正知道如何将我的问题提出来,所以可能有一个解决方案,我找不到,因为我不知道如何搜索它。在代码中运行新代码的代码而不是指定目标函数来运行

我有一行代码,我想运行在一个单独的线程。到目前为止,我的印象中,以创建具有启动线程时使用target参数把你想自己的函数内部运行,然后将代码中调用该函数一个新的线程:

threading.Thread(target = functionName).start() 

这是好的我的工作是这样的,但是因为我只运行一行代码,在它自己的函数中看起来有点没有意义,我想摆脱这一点。我想创建线程并有效地指定实际的代码行本身,而不是函数名称target

我可以在C#这样做:

new Thread(delegate() 
{ 
    // any amount of code goes here and it will be run in its own thread 
}).Start(); 

但有什么办法,我可以在Python这样做呢?

+0

所以,你可以使用'lambda'。 – Daniel

+0

@Daniel,不能在lambda表达式中放置任何数量的代码。没有循环,有限的控制流程等等。 – ForceBru

+0

@ForceBru:但是OP提到了一行代码,所以也许lambda足够了。 – Daniel

回答

0

使用Python,你可以使用lambda

threading.Thread(target = lambda: print('hi')).start() 

在这种情况下让内联函数,请注意,“喜”不会在终端显示,因为它是在另一个线程

+0

正是我在找的,谢谢! – HenryHunt