博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 用Threading创建多线程
阅读量:6093 次
发布时间:2019-06-20

本文共 1604 字,大约阅读时间需要 5 分钟。

#-*-coding:utf-8-*-'''python标准库提供了两个多线程模块,分别为thread和threading,其中thread模块是低级模块,threading是高级模块,对thread进行了封装,绝大多数情况下,只需要使用threading这个高级模块'''#使用threading模块创建多线程#方式一:把一个函数传入并穿件Thread实例,然后调用start方法开始执行import randomimport 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爬虫开发与项目实战》

转载于:https://www.cnblogs.com/bin-l/p/8547443.html

你可能感兴趣的文章
js document.activeElement 获得焦点的元素
查看>>
abb画学号
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
day6-if,while,for的快速掌握
查看>>
JavaWeb学习笔记(十四)--JSP语法
查看>>
【算法笔记】多线程斐波那契数列
查看>>
java8函数式编程实例
查看>>
jqgrid滚动条宽度/列显示不全问题
查看>>
在mac OS10.10下安装 cocoapods遇到的一些问题
查看>>
angularjs表达式中的HTML内容,如何不转义,直接表现为html元素
查看>>
css技巧
查看>>
Tyvj 1728 普通平衡树
查看>>
[Usaco2015 dec]Max Flow
查看>>
javascript性能优化
查看>>
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>
转:Vue keep-alive实践总结
查看>>
android studio修改新项目package名称
查看>>
深入python的set和dict
查看>>