本文提供给大家的是用python代码实现一个简单的线程效果源码案例 。Python的多线程爬虫一直都是学习python人士相对比较关注的一项,在python搜索引擎爬虫视频教程中也介绍过很多,感兴趣的朋友可以关注一下。
实现的代码:
#-*- encoding: UTF-8 -*-
import threading,queue,os
#导入方法模块
def main(inargs):
work_queue = queue.Queue() #queue类中实现了锁
for i in range(3):#设置了3个子进程
worker = Worker(work_queue,i) #工作线程、工作队列、线程编号
worker.daemon = True #守护进程
worker.start() #启动线程开始
for elemt in inargs:
work_queue.put(elemt) #加入到队列中开始各个线程
work_queue.join() #队列同步
class Worker(threading.Thread):
#继承线程类,类也是不太好学习的部分
def __init__(self, work_queue,number):
super().__init__()
self.work_queue = work_queue
self.number = number
def process(self,elemt):
#自定义的线程处理函数,用于run()中.
#这里仅仅打印线程号和传入参数
print("\n{0} task:----{1}".format(self.number,elemt))
def run(self):
#重载threading类中的run()
while True:
try:
elemt = self.work_queue.get() #从队列取出任务
self.process(elemt)
finally:
self.work_queue.task_done() #通知queue前一个task已经完成
if __name__=="__main__":
main(os.listdir("."))
#这一步是用当前目录下得文件名作测试
用Python实现一个简单的线程池模型效果代码分析讲解,代码中关于python threading多线程模块、python queue、python os模块的具体使用方法,可以关注相关文章。
閱讀更多 Python樂園 的文章