多线程爬虫
多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。 最简单的比喻多线程就像火车的每一节车厢,而进程则是火车。车厢离开火车是无法跑动的,同理火车也不可能只有一节车厢。
import threading
import time
def coding():
for x in range(3):
print("写代码%s"%threading.current_thread())#threading.current_thread()可以写出线程名字,eg:<Thread(Thread-1, started 20112)>
time.sleep(1)
def writing():
for x in range(3):
print("写东西%s"%threading.current_thread())
time.sleep(1)
def main():
t1=threading.Thread(target=coding)
t2 = threading.Thread(target=writing)
t1.start()
t2.start()
print(threading.enumerate())#可以查看有多少线程,此程序有3个,其中包括一个主线程
if __name__=='__main__':
main()

可以写成类的形式
import threading
import time
class coding_thread(threading.Thread):
def run(self):
for x in range(3):

本文探讨了多线程爬虫的原理及其在资源高效利用中的作用,详细讲解了线程创建、线程间全局变量共享及锁机制,同时介绍了生产者消费者模式下两种线程同步方式:Lock和Condition。
最低0.47元/天 解锁文章
403

被折叠的 条评论
为什么被折叠?



