|
초보빌더 님이 쓰신 글 :
: Thread를 사용하여 프로그램을 돌리는데요.
: Thread는 while(!Terminated)를 이용한 무한 루프가 돌아가고요.
: 무한루프 안에 Sleep() 함수를 사용합니다.
:
: 프로그램을 종료시
: Thread->Suspend() 상태에서
:
: Thread->Terminate();
: delete Thread;
: 를 이용하여 프로그램을 종료하기 전에 Thread를 종료하는데
: 종료시 프로그램이 바로 종료되는 것이 아니고 Thread안에 Sleep()이 다 끝나야 프로그램이 종료가 됩니다.
: 종료시 바로 종료하는 방법을 알고 싶습니다.
:
: 다른 하나는 Thread안의 무한루프 안에
: 외부에서 가져온 dll파일의 함수를 사용하는데
: 이 함수가 계속해서 네트웤에 어떤 신호를 주는 함수입니다.
:
: 프로그램에서 버튼을 이용하여 시작을 누르면 Thread->Resume();
: 중지를 누르면 Thread->Suspend();
: 종료를 누르면
: Thread->Terminate();
: delete Thread;
: 하는데요
: 시작 후 중지를 누르면 프로그램이 다운이 됩니다.
: 에러는 발생하지 않고 프로그램이 응답없음 상태가 됩니다.
: 이런 경우 어떤식으로해결을 해야할지.. (dll안의 함수는 제가 손을 댈수가 없고 어떤식으로 구현되는지도 정확히 모르겠습니다.)
:
: 정신이 없어서 질문이 횡설수설이라..
: 답변 부탁드리겠습니다.
TThread::FreeOnTerminate의 값을 true로 설정하면 스레드 종료 시 자동 삭제됩니다.
|