zoukankan      html  css  js  c++  java
  • python 用Threading创建多线程

    #-*-coding:utf-8-*-
    '''python标准库提供了两个多线程模块,分别为thread和threading,
    其中thread模块是低级模块,threading是高级模块,对thread进行了封装,
    绝大多数情况下,只需要使用threading这个高级模块'''
    #使用threading模块创建多线程
    #方式一:把一个函数传入并穿件Thread实例,然后调用start方法开始执行
    import random
    import time,threading
    
    #新线程执行的代码
    # def thread_run(urls):
    #     print("Current %s is running...."% threading.current_thread().name)
    #     for url in urls:
    #         print('%s--->>>%s'%(threading.current_thread().name,url))
    #         time.sleep(random.random())
    #     print("%s ended." % threading.current_thread().name)
    # print("%s is runing..."%threading.current_thread().name)
    # t1=threading.Thread(target=thread_run,name='Thread_1',args=(['url_1','url_2','url_3']))
    # t2=threading.Thread(target=thread_run,name='Thread_1',args=(['url_4','url_5','url_6']))
    # t1.start()
    # t2.start()
    # t1.join()
    # t2.join()
    # print("%s ended."% threading.current_thread().name)
    #方式二:直接从threading.Thread集成并穿件线程类,然后重新__init__方法和run方法
    class myThread(threading.Thread):
        def __init__(self,name,urls):
            threading.Thread.__init__(self,name=name)
            self.urls=urls
        def run(self):
            print("Current %s is running..."%threading.current_thread().name)
            for url in self.urls:
                print("%s--->>>%s"%(threading.current_thread().name,url))
                time.sleep(random.random())
    print("%s is running..."%threading.current_thread().name)
    t1=myThread(name='Thread 1',urls=['url_1','url_2','url_3'])
    t2=myThread(name='Thread 2',urls=['url_4','url_5','url_6'])
    t1.start()
    t2.start()
    t1.join()
    t2.join()
    print("%s ended "% threading.current_thread().name)
            
    

     摘自《Python爬虫开发与项目实战》

  • 相关阅读:
    mybatis中#{}和${}的区别 (二)
    JAVA分布式架构的演变及解决方案
    mybatis中的#和$的区别
    https
    vue3的组件v-model初探1
    前端性能优化
    HTTP请求的完全过程
    http缓存详解,http缓存推荐方案
    vscode-setting备份
    Mac电脑在finder中添加- 右键打开vscode
  • 原文地址:https://www.cnblogs.com/bin-l/p/8547443.html
Copyright © 2011-2022 走看看