python學習第三十一節

2022-06-01 16:39:36 字數 2442 閱讀 1209

event模組

event.wait() 等待相當於標誌位為false。()內可以傳引數數字,為幾秒。

event.set()給另乙個執行緒傳標誌位true。

佇列 queue

和列表類似,但是函式內建了互斥鎖,保證了執行緒安全。是具有執行緒安全的資料結構。

put傳進去,get取出來,取是先進先出的方法,吃了拉,而且queue沒有別的方法。

上圖這種情況沒有意義,最後一次get取不到值在等待put 單執行緒寫到後面的put並不能執行,需要再

開乙個執行緒。

取值之後,queue就少了乙個。

如上圖put裡寫block=false引數,當queue滿了在新增,將報錯而不是卡死。

上圖如上上圖效果一樣,寫法不一樣。

如上圖,get引數可以寫block=false 當取不到值的時候立刻報錯。

上圖和上上圖效果一樣,寫法不一樣。

put之後加入乙個join可以阻塞該子執行緒後面的程式,然後另乙個執行緒取出來需要每次都要task_done()

表示執行完畢,當所有任務完成之後會繼續上乙個執行緒的後面任務。

q.empty()

如果queue為空布林值為true

priority優先順序

如上圖,設定優先順序的例子。

生產者消費者模型

多程序

1

from

multiprocessing import process#import

2import os

3import time45

6def info(name):

7'''

列印父程序pid和程序pid

'''8 print("

name:

", name)#列印名字

9 print('

parent process:

', os.getppid())#獲取父程序id

10 print('

process id:

', os.getpid())#獲取子程序id

11 print("

------------------")

12 time.sleep(1)13

1415

def foooooo(name):

16'''

呼叫info

'''17

info(name)

1819

20if __name__ == '

__main__':

21 info('

main process line')

2223 process_one = process(target=info, args=('

alvin

',))#建立乙個程序

24 process_two = process(target=foooooo, args=('

egon

',))

25process_one.start()#啟用這個程序

26process_two.start()

2728

process_one.join()#程序的join和執行緒的join是一樣的,子程序執行結束之後執行主程序

29process_two.join()

3031 print("

ending

")#主程序

多程序的聯絡。

python學習第三十一天(jquery)

jquery 物件就是通過jquery包裝dom物件後產生的物件。jquery 物件是 jquery 獨有的.如果乙個物件是 jquery 物件,那麼它就可以使用 jquery 裡的方法 test html test html 意思是指 獲取id為test的元素內的html 其中html 是jque...

第三十一天

一 單行函式 每一行都會執行一次的函式 eg pet表中每乙個pname的長度 select pname,char length pname from pet where char length pname 2 char length 列 獲取列的值的字元長度 單行函式的分類 1.數值型別 roun...

LeetCode第三十一題 Python實現

title leetcode no.31 categories tags 實現獲取 下乙個排列 的函式,演算法需要將給定數字序列重新排列成字典序中下乙個更大的排列。如果不存在下乙個更大的排列,則將數字重新排列成最小的排列 即公升序排列 必須 原地 修改,只允許使用額外常數空間。示例 1 輸入 num...