2012-12-29 5 views
1

'self'를 전달하는 클래스 메서드에서 스레드를 어떻게 호출 할 수 있습니까? 나는 다음과 같이 정의 된 클래스가 있고 인자로 self를 가진 새로운 쓰레드에서 클래스 메소드를 호출하기를 원한다. 나는 다음을 시도했지만 자기가 논증으로 전달되지 않았다.클래스에 스레드 만들기 메서드

cust_obj = Customer() 
thread.start_new_thread(cust_obj.process,()) 

class Customer(): 
    def __init__(self): 
     pass 
    def process(self): 
     self.fetch_data() 
     self.serialize_data() 
    def fetch_data(self): 
     # Fetch data logic 
     pass 
    def serialize_data(self): 
     # Serialize fetched data 
     pass 
+0

(키워드 : 바운드 메소드) 작동해야합니다. 오류 메시지가 무엇입니까? – delnan

+0

그게 효과가 있어야합니다. 'thread.start_new_thread ((lambda : Customer(). process()),())' – Bakuriu

+0

무엇이 실패하는지 알기 전까지 아무런 도움도 줄 수 없다. –

답변

2

나는 인스턴스 생성 전에 클래스 정의를 두어야한다고 생각한다. 그 때 그것은 작동 할 것이다.

class Customer(): 
    ... 
cust_obj = Customer() 
thread.start_new_thread(cust_obj.process,())