我将在Python应用程序中使用线程。假设我希望使用main.py文件中的以下代码在线程中运行worker()函数:
def threadcalling():
t = threading.Thread(target=worker())
threads.append(t)
t.start()我在work.py文件中的worker函数如下所示:
def worker():
"""thread worker function"""
print 'Worker'
return我的问题是:如果worker()函数位于我所调用的同一个.py文件中,那么每件事都是正常的,但是如果worker()函数位于另一个.py文件中,而我使用import命令在主脚本中导入了该文件,则得到以下错误:
<type 'exceptions.ValueError'>发布于 2017-05-06 07:31:26
对我来说,这是可行的:
dede@i5:~>猫bb.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import threading
from cc import *
threads=[]
t = threading.Thread(target=worker)
threads.append(t)
t.start()dede@i5:~>猫cc.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def worker():
"""thread worker function"""
print 'Worker'
returndede@i5:~> python bb.py
Worker要从worker()返回值,请使用全局变量(带有锁)或队列。
https://stackoverflow.com/questions/43817788
复制相似问题