Python:我启动一个新线程,程序暂停,直到线程完成
当我尝试启动一个新线程时,我的整个程序将停止,直到线程的功能完成。我试图使线程在程序同时运行时启动并继续 代码: 我已经导入了所有必需的模块,所以这不是问题所在。这里使用的任何未定义的函数都已在其他地方定义,并且工作得非常好。我还没有在这里包括我的整个程序,因为它太大了,无法粘贴到这里。Python:我启动一个新线程,程序暂停,直到线程完成,python,python-2.7,python-multithreading,Python,Python 2.7,Python Multithreading,当我尝试启动一个新线程时,我的整个程序将停止,直到线程的功能完成。我试图使线程在程序同时运行时启动并继续 代码: 我已经导入了所有必需的模块,所以这不是问题所在。这里使用的任何未定义的函数都已在其他地方定义,并且工作得非常好。我还没有在这里包括我的整个程序,因为它太大了,无法粘贴到这里。 do_python("key = cpc.get_key()") 实际上,您正在主线程中调用do_python函数(它有一个无限循环,永远不会停止运行)。由于函数从不返回任何内容,因此它将永远保持运行。如果它
do_python("key = cpc.get_key()")
实际上,您正在主线程中调用do_python
函数(它有一个无限循环,永远不会停止运行)。由于函数从不返回任何内容,因此它将永远保持运行。如果它确实返回了一些东西,您可能会得到一个错误,除非在可调用对象中返回了任何东西
参数,因此必须将函数传递给它
getKeyThread = threading.Thread(target=do_python, args=some_args, daemon=True).start()
通过做
do_python("key = cpc.get_key()")
实际上,您正在主线程中调用do_python
函数(它有一个无限循环,永远不会停止运行)。由于函数从不返回任何内容,因此它将永远保持运行。如果它确实返回了一些东西,您可能会得到一个错误,除非在可调用对象中返回了任何东西
参数,因此必须将函数传递给它
getKeyThread = threading.Thread(target=do_python, args=some_args, daemon=True).start()
看看这个例子:将
getKeyThread=threading.Thread(target=do_python(“key=cpc.get_key()”),daemon=True)。start()
改为getKeyThread=threading.Thread(target=do_python,args(“key=cpc.get_key()”),daemon=True)。start()
看看这个例子:changegetKeyThread=threading.Thread(target=do_python(“key=cpc.get\u key()”,daemon=True)。start()
到getKeyThread=threading.Thread(target=do\u python,args(“key=cpc.get\u key()”),daemon=True)。start()
感谢您的帮助,但我的评论帮助我解决了问题。谢谢您的帮助,但我的评论帮助我解决了问题。