31
現在、PythonとClassesを学習していますが、基本的な質問がありますが、それに対する答えは見つかりませんでした。のは、私は同時にresolve_domainとgenerate_website_thumbnailを実行すると、スレッドが終了したら、私はIPとサムネイルを印刷するこのダミーのクラスにスレッドでクラスメソッドを実行する(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
を持っているとしましょう。
EDIT:私は多分、私がスレッドを使用する必要があり、この
r = DomainOperations('google.com')
t1 = threading.Thread(target=r.resolve_domain)
t1.start()
t2 = threading.Thread(target=r.generate_website_thumbnail)
t2.start()
のようなものを知っている。しかし、私はクラスの外でそれらを使用する必要がありますか?私はスレッドを扱う別のクラスを書くべきでしょうか?
正しい方法はとは何ですか?
-1:あなたは、クラス内でスレッドを実行することができますが、スレッドは「自己」の名前空間を継承しませんと述べました。だから基本的にはできません。重要な情報があります –
@jasondancks申し訳ありませんが、間違っています。次の例を参照してください:http://pastebin.com/8JWzReCW。 'self.resolve_domain'と' self.generate_website_thumbnail'は 'self'が両方の呼び出しの最初の引数であるのでオブジェクト属性を使います。 –
ハァッ。今日私のコードでこれを動作させることができませんでしたので、クラスからメソッドを取り除き、オブジェクトをパラメータとして渡す必要がありました。謝罪します。 –