zoukankan      html  css  js  c++  java
  • 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() #等待所有子线程全部执行完毕

     
     
  • 相关阅读:
    vue-cli3搭建可视化项目架构
    select框修改默认样式
    修改checkbox的默认样式
    input和textarea修改placehold的文字颜色
    checkbox更改默认样式,以及选中文字也可以选中checkbox
    自封装 ajax 函数,ajax原理
    git@github.com: Permission denied (publickey)
    EAS webservice安全模式
    DB2 根据id查表
    office web apps server安装
  • 原文地址:https://www.cnblogs.com/qiaoer1993/p/11672112.html
Copyright © 2011-2022 走看看