我有程序,从文件中获取存储的值并在线检查。最大并行度为 10 个线程,之后系统崩溃。
以下是我目前正在做的事情:
threads_value = list()
i = 0
while i < len(ValueList):
for value in ValueList[i:i + 1]:
value_read = server_connect_read(channel, value)
thread = threading.Thread(target=update_value, args=(value_read,))
thread.setName('Currently running thread' + int(value))
print(threading.current_thread().getName())
threads_value.append(thread)
thread.start()
i = i + 1
for thread in thread_value:
thread.join()
def update_value(value_read):
if value_read.server_connect() is False:
return False
print("updating values")
update = server_read.update_value(old_values.xlsx)
if value_read.server_disconnet() is False:
return False
在这里,根据文件中的值,线程一次全部启动。因此,如果我有超过20个值,则在前10个之后开始的线程无法连接到服务器,并且线程将显示断开连接。因此,并非所有值都会更新。
我仍在学习并经历了一些建议,即在尝试线程时限制worker的数量,我看到线程没有以顺序方式启动。
有没有办法用序列起始线程创建线程拉动。
ABOUTYOU
相关分类