python佇列和執行緒的學習

2022-07-12 06:45:11 字數 1582 閱讀 4841

近期在研究一篇用python語言批量探測**指令碼時,這個指令碼值得研究的的是用了queue和threading的第三方庫

queue.queue()是一種先進先出(fifo)的資料結構。它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。

queue.queue.put() 寫入佇列,queue.queue.get()獲取寫入的佇列,queue.queue.empty() 如果隊列為空,返回true,反之false。

1

import

queue

2 q =queue.queue()

3for i in range(5):

4q.put(i)

5while

notq.empty():

6print

(q.get())

執行結果01

234

threading是乙個執行緒的庫

1

import

time

2import

threading

3def

test():

4print("

批量執行")

5 time.sleep(5)6if

__name__ == "

__main__":

7for i in range(5):

8 t = threading.thread(target=test())

9 t.start() #

啟動執行緒,即讓執行緒開始執行

執行結果

批量執行

批量執行

批量執行

批量執行

批量執行

queue用於建立和操作佇列,常和threading類一起用來建立乙個簡單的執行緒佇列

1

import

queue

2import

time

3import

threading

45 q =queue.queue()67

8def

test():

9for i in range(2):

10q.put(i)

11while

notq.empty():

12print(q.get(),"

批量執行")

1314 time.sleep(5)

15if

__name__ == "

__main__":

16for i in range(2):

17 t = threading.thread(target=test())

18 t.start()

0 批量執行

1 批量執行

0 批量執行

1 批量執行

python 執行緒佇列

1.先進先出 bin python encoding utf8 import queue 執行緒佇列 q queue.queue 模式 1.先進先出,2,後進先出,3.優先順序 q queue.queue 5 5 表示可以放5個資料 q.put 12 q.put hell q.put while 1...

python 執行緒佇列

佇列是一種資料結構,是資料安全的,資料安全的。佇列能幹的事情列表都能幹。列表是執行緒不安全的,所以可以說佇列是針對多執行緒出現的。資料結構是用來儲存資料用的,只不過各種資料結構的儲存方式不同。比如 集合 佇列 對映 列表 按索引值儲存 字典 按key值的雜湊表儲存 list.pop 按索引刪除 li...

python佇列執行緒池 Python多執行緒與佇列

多執行緒爬蟲對比單執行緒爬蟲有很大的優勢,雖然python中的多執行緒並不是真正意義上的多執行緒,執行緒不可以同時執行,而是順序序列執行的,只是在乙個執行緒在等待時,cpu切換到另外乙個執行緒接著幹活,這樣看起來就感覺像是並行。雖然如此,多執行緒的效率仍然比單執行緒快上很多倍,是爬蟲中不可缺少的技能...