31
我目前正在學習Python和類,我有一個基本問題,但我沒有找到任何答案。比方說,我有這個虛擬類在線程中運行類方法(python)
class DomainOperations:
def __init__(self, domain):
self.domain = domain
self.domain_ip = ''
self.website_thumbnail = ''
def resolve_domain(self):
#resolve domain to ipv4 and save to self.domain_ip
def generate_website_thumbnail(self):
#generate website thumbnail and save the url to self.website_thumbnail
我要同時運行resolve_domain和generate_website_thumbnail當線程完成我想要打印的IP和縮略圖。
編輯:我知道我應該使用線程,也許這樣的事情
r = DomainOperations('google.com')
t1 = threading.Thread(target=r.resolve_domain)
t1.start()
t2 = threading.Thread(target=r.generate_website_thumbnail)
t2.start()
但我應該使用它們的類之外?我應該寫另一個類來處理線程嗎?
什麼是正確的方法要做到這一點?
-1:您可以運行一個類中的線程,但表示線程不會繼承「自我」的命名空間。所以基本上沒有你不能。有點重要的信息 – 2014-04-04 18:38:10
@ jasondancks我很抱歉,但你錯了。看看下面的例子:http://pastebin.com/8JWzReCW。 'self.resolve_domain'和'self.generate_website_thumbnail'將使用對象屬性,因爲'self'是兩個調用的第一個參數。 – 2014-04-04 20:45:16
呵呵。我今天無法在我的代碼中使用它,所以我必須將我的方法帶出課程並將該對象作爲參數傳遞。我道歉。 – 2014-04-04 22:21:03