2016-12-29 59 views
-1
import threading 

def func(): 
    print "hello" 
    threading.Timer(5.0,func).start() 
func() 

從技術上講,我只是想用它來創建一個定時器,無限期地在5秒後重復它的任務。我會在這段代碼後最終耗盡堆棧內存嗎?

+0

你能澄清更多的問題嗎?從技術上講,你的代碼創建一個定時器,無限期地在5秒後重復它的任務。另一方面,您的代碼不會出現堆棧溢出的問題,因爲在每次調用您的方法時,您都會打印出hello並創建一個線程,以便在5秒內再次執行您的代碼。在我的計算機上使用1.8 Ghz和Ram 4Gb的雙核處理器,這個過程花費了cpu:0.6%一個mem:0.2 – Cyberguille

+0

實際上,我正在運行一個IRC bot,並且我非常熟悉python中的線程工作方式我習慣於java)。所以,而不是使用time.sleep()(我認爲這可能會讓我的機器人超時),我想用某種計時器來使用線程。 –

+0

好的,但從我的角度來看,這是更一般的,也許你需要一些書,也許你需要再讀一遍這個網站的政治,你需要把這裏的東西像你的代碼問題或特定的東西,在你的身體問題,也許你可以在別人的問題上找到答案,也許你可以發佈很多與這個話題有關的問題,因爲我認爲你需要改進你的問題。 – Cyberguille

回答

0

我不明白你爲什麼需要導入線程。時間應該這樣做:

import time 

def hello(): 
    print "Hello" 

while 1: 
    hello() 
    time.sleep(5) 

並回答你的問題,不,我不相信內存將是一個問題。