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...