import time, threading def demo1(value1, value2=None): print("%s threading is printed %s, %s"%(threading.current_thread().name, value1, value2)) time.sleep(2) return 'finished' def demo2(i): print(i, "demo2"*20) if __name__ == "__main__": from concurrent.futures import ThreadPoolExecutor threadPool = ThreadPoolExecutor(max_workers=4, thread_name_prefix="thread") for i in range(0, 10): future = threadPool.submit(demo1, i, i+1) #添加其他的线程 if i == 5: threadPool.submit(demo2, i) threadPool.shutdown(wait=True)
#多进程
from multiprocessing import Process
from os import getpid
from random import randint
from time import time, sleep
def download_task(filename):
print('启动下载进程,进程号[%d].' % getpid())
print('开始下载%s...' % filename)
time_to_download = randint(5, 10)
sleep(time_to_download)
print('%s下载完成! 耗费了%d秒' % (filename, time_to_download))
def main():
start = time()
p1 = Process(target=download_task, args=('Python从入门到住院.pdf', ))
p1.start()
p2 = Process(target=download_task, args=('Peking Hot.avi', ))
p2.start()
p1.join()
p2.join()
end = time()
print('总共耗费了%.2f秒.' % (end - start))
if __name__ == '__main__':
main()
#多线程
from random import randint
from threading import Thread
from time import time, sleep
def download(filename):
print('开始下载%s...' % filename)
time_to_download = randint(5, 10)
sleep(time_to_download)
print('%s下载完成! 耗费了%d秒' % (filename, time_to_download))
def main():
start = time()
t1 = Thread(target=download, args=('Python从入门到住院.pdf',))
t1.start()
t2 = Thread(target=download, args=('Peking Hot.avi',))
t2.start()
t1.join()
t2.join()
end = time()
print('总共耗费了%.3f秒' % (end - start))
if __name__ == '__main__':
main()
##下面是一个简单的多线程
import threading
def test():
return 111 #这里写请求
li = []
for good in goods_list:
h = threading.Thread(target=test, args=(,))
li.append(h)
h.start()
for i in li:
i.join() #等待所有子线程全部执行完毕