2011-01-25 5 views
2
class accel{ 
public: 
    accel(int threads, string params); 

private: 
    void getfile(int from, int to); 
    void download(int threads); 
}; 


void accel::download(int threads){ 
    boost::thread g(&getfile(0, 1)); //<<<< 
} 

'&'에 I 값이 필요합니다. 나는 이것을 예제로하고있다. 어떻게 작동 시키는가?부스트. 멀티 스레딩

답변

6
boost::thread g (boost::bind(&accel::getfile, this, 0, 1)); 
+0

다른 스레드가 닫히기 전에 다른 스레드가 닫힐 때까지 기다리는 방법은 무엇입니까? 뮤텍스? – gemexas

+0

@ gemexas : 새로운 질문을하십시오. – Puppy

2

getfile 반환 void - 당신은 유형 void의 변수의 주소을 위해 노력하고 있습니다. 그것은 전혀 이해가되지 않습니다. 바운드 함수 객체를 사용해야한다. boost :: bind를 체크 아웃해야한다.