執行緒回顧 多執行緒爬蟲

2021-09-25 10:15:11 字數 1295 閱讀 9937

import       threading

def run(a):

#當前執行緒

c = threading.current_thread()

print('子執行緒開始',c.name)

#建立乙個執行緒

t = threading.thread( target = run,args=(1,),name='haha')

#啟動執行緒

t.start()

#關閉執行緒

t.join()

#基於類的執行緒

#例項:

import threading

import time

# 寫乙個類,繼承自threading.thread

# main else

class singthread(threading.thread):

def __init__(self, name, a):

super().__init__()

self.name = name

self.a = a

def run(self):

print('執行緒名字是%s,接受的引數是%s' % (self.name, self.a))

for x in range(1, 6):

print('我在唱七里香')

time.sleep(1)

class dancethread(threading.thread):

def __init__(self, name, a):

super().__init__()

self.name = name

self.a = a

def run(self):

print('執行緒名字是%s,接受的引數是%s' % (self.name, self.a))

for x in range(1, 6):

print('我在跳廣場舞')

time.sleep(1)

def main():

# 建立執行緒

tsing = singthread('sing', '豬八戒')

tdance = dancethread('dance', '豬悟能')

# 啟動執行緒

tsing.start()

tdance.start()

# 讓主線程等待結束

tsing.join()

tdance.join()

print('主線程和子執行緒全部結束')

if __name__ == '__main__':

main()

爬蟲多執行緒

多執行緒在之前的scrapy裡面已經接觸過了,就是裡面的yiled,開啟乙個新的執行緒。但是這是這是基於這個高階框架的,用的時候只知道這是開啟了乙個新的執行緒,並不是很清楚到底是怎麼執行的。而在python裡面有包 import threading引入這個包之後就可以寫自己的多執行緒了 寫多執行緒的...

多執行緒爬蟲

python標準庫是執行緒之間常見的資料交換形式 queue的使用可以確保python的執行緒安全 q queue.queue maxsize 建立佇列,並可以指定大小 q.empty 判斷佇列是否為空 q.full 判斷佇列是否滿 q.put data 向佇列中放入資料 q.get 從佇列中拿資料...

爬蟲多執行緒

執行緒程序 import requests import threading import json from queue import queue import time 寫子類 class thread crawl threading.thread def init self,name,page...