python多进程,多线程

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() #等待所有子线程全部执行完毕

 
 
posted @ 2019-10-14 16:19  乔儿  阅读(130)  评论(0编辑  收藏  举报