如何停止使用python返回组合数据的多线程
使用多线程时,我会得到组合数据如何停止使用python返回组合数据的多线程,python,multithreading,csv,Python,Multithreading,Csv,使用多线程时,我会得到组合数据 列表是:A、B、C。如果我安装了这个,fdata[]包含来自A、B和C的数据。如何获取fdata也只包含一组数据。我试过del fdata,但没用。我需要一把锁 class WorkerThread(threading.Thread): def __init__(self, queue): threading.Thread.__init__(self) self.queue = queue
列表是:A、B、C。如果我安装了这个,fdata[]包含来自A、B和C的数据。如何获取fdata也只包含一组数据。我试过del fdata,但没用。我需要一把锁
class WorkerThread(threading.Thread):
def __init__(self, queue):
threading.Thread.__init__(self)
self.queue = queue
def run(self):
while 1:
try: # take a job from the queue
symbol, test, test2 = self.queue.get_nowait()
except Queue.Empty:
raise SystemExit
fn = %s.CSV" % symbol
fdata = []
fo = open(fn, 'rb')
fr = csv.reader(fo, dialect='excel')
for row in fr:
fdata.append(row)
#print fdata
#del fdata
如何将线程号添加到fdata或将id A、B、C列表添加到fdata fdata应该始终包含CSV文件的内容,毕竟您对行进行了循环,所以它应该始终包含一个B和C。。。也许你应该多解释一下你想做什么 至于你的第二个问题- 您的线程对象有一个see
线程。get_ident()
返回线程的“线程标识符”
当前线程。这是一个非零
整数。它的价值没有直接关系
意思这是一个魔术
要使用的cookie,例如索引
线程特定数据字典。
线程标识符可以循环使用
当一个线程退出而另一个线程退出时
是创建的
编辑:
也许fdata是一个全局变量,或者是跨文件访问保存的?我在代码片段中看不到任何东西可以做到这一点,但我不知道如何解释它。根据函数,fdata应该是函数中的一个局部作用域变量,它应该与堆栈框架一起消失…这里的多线程究竟是什么?您的fdata在某种程度上是全局的吗?尝试做到:简单地拥有大量csv。都差不多。symbol.csv是文件名。“符号”改变了。我想要多线程:读取文件,然后加载到数据库中。我需要fdata包含一个文件中的onlt数据。现在,fdata是开放的,所有线程都在使用它,它将加载所有子序列的csv数据。