먼저 저에 환경을 설명하겠습니다.
O/S : Windows 2000 Pro
DB : MS-SQL
언어 : 델파이 5.0
데이타베이스 접속은 BDE MS-SQL로 접속
데이타베이스 서버는 따로 있구요
클라이언트에서 프로그램이 돕니다.
프로그램은 쓰레드로 돌고 있구요
쓰레드는 70개 정도 생성을 했습니다.
인디소켓을 이용하여 화일전송도 합니다.
문제는 프로그램을 죽였다고
다시 실행하면 이상이 없습니다.
쓰레드가 70개 돌아도 이상없이 돌고 있는데요
데이타베이스 엑세스하고 화일전송을 하고 별것 다해도 이상이 없습니다.
그러나 시간이 지나고 조금 있다가 한15시간정도 프로그램을 돌리다가
cpu가 조금씩 올라갔다가 내려갔다가 하다가
조금 있으면 100%까지 올라갑니다.
또 떨어지구요 이것을 계속반복을 합니다.
데이타 베이스접속을 많이 하지 않고 화일전송도 많이 하지 않아도
계속 100%까지 올라갔다가 내려갔다가 합니다.
문제는 언젠가는 100%까지 올라가 내려오지 않는다는 겁니다.
소스를 보셔야 답변을 하시겠지만
이런 경험이 계신분이 있느지요?
제 생각에는 생성된 스레드가 죽지 않고.. CPU 잡기 때문에 그런 것 같습니다.
스레드 소멸이 정확히 이루어지는지 확인해 보셔야 할 겁니다.
아마도 70정도의 스레드면.. 루프 문 같은 것으로 생성하실텐데.. (어느 이벤트 발생 시점이나..) 정확히 생성된 모든 스레드가 죽지 않는 것으로 생각됩니다.
그럼 즐프염