我有一个包含x个线程(t [])的列表。我想无限期地停止或杀死或暂停它们。我该怎么做?如果我必须使用time.sleep,我该怎么做,让列表中的每个线程都睡眠?
def downNow(d): #A function to download a file
step = d.size//d.noOfThreads
init= 0
for i in range(d.noOfThreads-1):
d.thread_list.append(DownloadThread.D_thread(DownloadThread.download_file, (init, step, d, i)))
init=step+init
d.thread_list[i].start()
step = d.size-init
d.thread_list.append(DownloadThread.D_thread(DownloadThread.download_file, (init, step, d, d.noOfThreads-1)))
d.thread_list[d.noOfThreads-1].start()
d是一个包含url和size等信息的下载对象。
DownloadThread.download_file函数是
def download_file(init, step, d, i):
try:
req = Request(d.url, headers={'Range':'bytes=%s-%s'%(init,init+step)})
d.data[i] = bytes(urlopen(req).read())
我想创建一个函数暂停,以冻结当前阶段的下载。所以我想知道如何在d.thread_list中停止每个单独的线程。