1.python中數(shù)據(jù)類型,int,float,復(fù)數(shù),字符,元組,做全局變量時需要在函數(shù)里面用global申明變量,才能對變量進(jìn)行操作。
而,對象,列表,詞典,不需要聲明,直接就是全局的。
2.線程鎖mutex=threading.Lock()
創(chuàng)建后就是全局的。線程調(diào)用函數(shù)可以直接在函數(shù)中使用。
mutex.acquire()開啟鎖
mutex=release()關(guān)閉鎖
要注意,死鎖的情況發(fā)生。
注意運行效率的變化:
正常1秒,完成56997921
加鎖之后,1秒只運行了531187,相差10倍多。
3.繼承.threading.Thread的類,無法調(diào)用__init__函數(shù),無法在創(chuàng)建對象時初始化新建的屬性。
4.線程在cpu的執(zhí)行,有隨機(jī)性
5. 新建線程時,需要傳參數(shù)時,args是一個元組,如果只有一個參數(shù),一定后面要加一個,符號。不能只有一個參數(shù)否則線程會報創(chuàng)建參數(shù)錯誤。threading.Thread(target=fuc,args=(arg,))