내가 여기에 내 코드 클래스 데모가 .H 파일에 정의되어있어 다중 스레드 시스템에서 작업하고 파괴하기되지스레드가
메인 함수에서 루프가 두 번째로 실행될 때 COMMENT1 아래의 이전 값을 취
닫기 핸들이 스레드를 닫지 않습니까?
int threadentry(void* data)
{
demo* inst=(demo*) data;
cout << "Value of inst "<<hex << &inst<< endl;
string request;
cin>>request;
if(request==play)
{
inst->play;
cout << "Value of inst "<<hex << &inst<< endl;
// COMMENT1 here when the thread is executed second time from the main it is taking previous value
}
}
int main()
{
while(1)
{
demo* inst=new demo();
cout << "Value of inst "<<hex << &inst<< endl; //value is coming different from above
HANDLE threads;
DWORD threadId1;
if ((threads = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)threadentry,
(void *)inst, 0, &threadId1)) == NULL)
return -1;
//here is some Processing of data and after processing I close the handle
CloseHandle(threads);
delete inst;
system("pause");
}
}
std :: thread를 보셨습니까? – kfsone