現(xiàn)象是這樣的,有些時(shí)候python運(yùn)行死了,就用任務(wù)管理器強(qiáng)制結(jié)束
過(guò)幾秒又會(huì)自動(dòng)啟動(dòng)出好多,可能一個(gè),兩個(gè),三個(gè)python進(jìn)程出來(lái)
殺了他們,過(guò)會(huì)又出來(lái),如此反復(fù),不能真正的殺死pytohn
有時(shí)候只是會(huì)多出幾個(gè)來(lái),殺了就不會(huì)再自啟了,但是像永遠(yuǎn)殺不死的情況也是有發(fā)生過(guò)的
這樣誰(shuí)受得了啊,無(wú)限自啟,還越來(lái)越多
有人遇到類似的問(wèn)題嗎?怎么解決?
就一段普通的代碼(代碼會(huì)造成線程死鎖):
import threading
import time
class MyThread(threading.Thread):
def run(self):
global num
time.sleep(1)
if mutex.acquire(1):
num = num+1
msg = self.name+' run!'
print(msg)
# 卡在這里了,自身不release就要接著acquire,不可能
mutex.acquire()
print('acquire')
mutex.release()
print('release 1')
mutex.release()
print('release 2')
num = 0
mutex = threading.Lock()
def test():
for i in range(5):
t = MyThread()
t.start()
if __name__ == '__main__':
test()
換成正常運(yùn)行的也是會(huì)出現(xiàn)類似的問(wèn)題(這個(gè)可以正常運(yùn)行):
import threading
import time
class MyThread(threading.Thread):
def run(self):
global num
time.sleep(1)
if mutex.acquire(1):
num = num+1
msg = self.name+' run!'
print(msg)
# 卡在這里了,自身不release就要接著acquire,不可能
# mutex.acquire()
# print('acquire')
# mutex.release()
# print('release 1')
mutex.release()
print('release 2')
num = 0
mutex = threading.Lock()
def test():
for i in range(5):
t = MyThread()
t.start()
if __name__ == '__main__':
test()
但是還是會(huì)出現(xiàn)上面的情況
kp是cmd命令:
taskkill /F /IM python.exe()
有時(shí)候又好了,比如現(xiàn)在:
就是不知道為什么會(huì)這樣,明明程序中并沒(méi)有用多進(jìn)程還給我這么搞
代碼不限于上面的那個(gè),有些時(shí)候?qū)懶┢渌麞|西也會(huì)出現(xiàn)類似的情況
求解,謝謝!
是win7下,python3.6 64位,包裝了好多(應(yīng)該不是包的問(wèn)題吧),python我覺(jué)得我的也沒(méi)啥問(wèn)題
我可能就是不知道pytohn運(yùn)行機(jī)制吧
貌似找到了一個(gè)懷疑的原因:
我是用sublime text3寫python,裝過(guò)這些插件:
原來(lái)就發(fā)現(xiàn)某個(gè)插件(記不得名稱了),會(huì)自動(dòng)查找我代碼的語(yǔ)法錯(cuò)誤,它會(huì)運(yùn)行我本地的pytohn,造成運(yùn)行好幾個(gè)python進(jìn)程,造成我cpu占用過(guò)高(其實(shí)也沒(méi)多高),然后我一怒之下就把那插件給卸載了
剛發(fā)生的狀況為,我先kp掉所有的pytohn進(jìn)程,然后切換回sublime text3中,發(fā)現(xiàn)sub test 假死,卡了1秒多,然后多了幾個(gè)pytohn進(jìn)程,十有八九吧,不是代碼的問(wèn)題233333
后來(lái)我關(guān)了sub,kp掉pytohn,打開(kāi)sub,又多幾個(gè)python,沒(méi)跑了,十有八九,要不sub的問(wèn)題,要不sub插件的問(wèn)題
有了解sub插件的大佬嘛?求解釋,大概應(yīng)該是哪幾個(gè)插件有問(wèn)題?
還是我又理解錯(cuò)了,不是sub的問(wèn)題??
謝謝
對(duì)了,剛關(guān)了sub,python就沒(méi)了....
我是不是該拋棄sub了....
終于知道為啥要用vim寫代碼了,我感覺(jué)我代碼有問(wèn)題都是運(yùn)行后編譯器高速我的,sub感覺(jué)還算好用吧,要不就是我強(qiáng)迫癥2333333
初步來(lái)看是真的是sublime引起的,因?yàn)榘惭b了一些自動(dòng)補(bǔ)全,自動(dòng)提示的包,在寫代碼的時(shí)候sub會(huì)調(diào)用python來(lái)為我們最一些補(bǔ)全和差錯(cuò)
又因?yàn)槲掖a卡死是經(jīng)常容易發(fā)生的事情,又不知道卡死的是哪一個(gè)pytohn,故使用命令結(jié)束所有的python進(jìn)程,這就導(dǎo)致本來(lái)運(yùn)行在sublime里的python進(jìn)程遭到殺死,sublime檢測(cè)到后,會(huì)自動(dòng)重啟python進(jìn)程,造成了我感覺(jué)python殺不死的假象
不過(guò)sublime表面小巧,啟動(dòng)快速,占內(nèi)存小,但就我目前的配置來(lái)說(shuō),這樣(可能由插件引起)的占cpu還是比較高的,電腦是i7 7700,占了有30%到40%差不多,不殺進(jìn)程,用sublime倒是一點(diǎn)都不卡,主要是寫的程序一般為cpu密集型的,sub占我cpu我是不太高興,現(xiàn)在采取的做法是一段時(shí)間重啟下sublime可以解決大部分問(wèn)題
以上
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。