【发布时间】:2016-05-17 04:15:38
【问题描述】:
我有以下代码:
导入线程
def send_to_server(lst):
#Some logic to send the list to the server.
while 1:
lst = []
for i in range(1000):
lst.append(i)
task = threading.Thread(target=send_to_server,args(copy(lst),))
task.start()
我有几个问题:
1) 使用线程的想法是因为发送到服务器需要时间,我想继续
不停地生成数据。
此代码的问题在于,如果我创建了线程#3 并且它需要很长时间来处理,
到那时线程#4 将被启动。
我想确保每个列表都将由我创建的另一个列表发送到服务器,这意味着线程 #3 将在线程 #4 之前将数据发送到服务器。
我知道我需要使用队列,但我不知道具体如何。
2)我应该使用 lst 的副本吗?或者我也可以使用 lst,我不确定。
【问题讨论】:
-
为什么要遍历
range(1000)而不是直接使用:lst = range(1000)? -
@zondo idk 感谢您的建议。
标签: python multithreading operating-system thread-safety message-queue