Q&A

  • Cpu가 천천히 100%까지 올라갑니다.
먼저 저에 환경을 설명하겠습니다.
O/S : Windows 2000 Pro
DB  : MS-SQL
언어 : 델파이 5.0
데이타베이스 접속은 BDE MS-SQL로 접속

데이타베이스 서버는 따로 있구요
클라이언트에서 프로그램이 돕니다.
프로그램은 쓰레드로 돌고 있구요
쓰레드는 70개 정도 생성을 했습니다.
인디소켓을 이용하여 화일전송도 합니다.
문제는 프로그램을 죽였다고
다시 실행하면 이상이 없습니다.
쓰레드가 70개 돌아도 이상없이 돌고 있는데요
데이타베이스 엑세스하고 화일전송을 하고 별것 다해도 이상이 없습니다.
그러나 시간이 지나고 조금 있다가 한15시간정도 프로그램을 돌리다가
cpu가 조금씩 올라갔다가 내려갔다가 하다가
조금 있으면 100%까지 올라갑니다.
또 떨어지구요 이것을 계속반복을 합니다.
데이타 베이스접속을 많이 하지 않고 화일전송도 많이 하지 않아도
계속 100%까지 올라갔다가 내려갔다가 합니다.
문제는 언젠가는 100%까지 올라가 내려오지 않는다는 겁니다.
소스를 보셔야 답변을 하시겠지만
이런 경험이 계신분이 있느지요?
2  COMMENTS
  • Profile
    단현석 2002.07.25 03:37
    이런 경우 대부분 스레드에서 문제가 되는 것이라고 생각합니다.

    제 생각에는 생성된 스레드가 죽지 않고.. CPU 잡기 때문에 그런 것 같습니다.

    스레드 소멸이 정확히 이루어지는지 확인해 보셔야 할 겁니다.

    아마도 70정도의 스레드면.. 루프 문 같은 것으로 생성하실텐데.. (어느 이벤트 발생 시점이나..) 정확히 생성된 모든 스레드가 죽지 않는 것으로 생각됩니다.

    그럼 즐프염
  • Profile
    전희조 2002.07.25 04:24
    먼저 답변 감사합니다.
    스레드는 죽이지 않습니다.
    프로그램을 종료할때까지 죽이지 않습니다.
    스레드를 죽이면 서비스를 하지 못하기 때문입니다.
    제가 이런방법으로 프로그램을 여러가지 개발했습니다만
    물론 스레드를 여러개 돌리고 있죠
    근데 먼저 개발했던 프로그램하고 지금 개발하고 있는 프로그램하고
    다른점은
    일단 스레드를 돌리는것은 같고 스레드마다 데이타베이스 접속하는데
    그전에는 로컬이였고 지금은 DB서버가 따로 있다는 겁니다.
    그리고 화일전송이 추가되었다는 겁니다.

    • 김기연
    • 2002.07.25 07:19
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 단현석
      2002.07.25 18:47
      SQL 문 삽입이 잘못되어 그런 것으로 집작 됩니다. 전에 이런 경우가 있어.. 저는 아예 처음 코딩시 부...
    • KDDG_ZZOM
      2002.07.25 18:47
      우선 if DM.IsOracle then DM.DB.Commit; 이문이 실행되는지 확인해봐야겠네요... 글구 확인되면 업데이트...
    • 나옹이
    • 2002.07.25 05:13
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.07.25 06:05
    • 나옹이
      2002.07.25 08:30
    • 한원희
      2002.07.25 08:47
    • 나옹이
      2002.07.25 20:06
    • 한원희
      2002.07.25 20:16
    • 전희조
    • 2002.07.25 03:32
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 단현석
      2002.07.25 03:37
      이런 경우 대부분 스레드에서 문제가 되는 것이라고 생각합니다. 제 생각에는 생성된 스레드가 죽지 않...
    • 전희조
      2002.07.25 04:24
      먼저 답변 감사합니다. 스레드는 죽이지 않습니다. 프로그램을 종료할때까지 죽이지 않습니다. 스레드를...
    • 단현석
      2002.07.25 03:34
      그렇게 많은 방법이 있지는 않을 것 같습니다.. 제 생각에.. 칼크필드를 저장하려고 하는 것이 문제인데...
    • 장덕곤
    • 2002.07.25 01:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.07.25 04:42
      코딩으로 바꾸시려면, 간단하게, test.dpr 소스를 편집기로 읽어 들인 후에, Program test; 이 부분을...
    • 장덕곤
      2002.07.25 19:14
      한원희님.. 감사합니다... 다음에 또 궁금한게 있으면 부탁해도 되죠?^^ 제가 아직초보라서요...
    • 홍성락
      2002.07.25 01:06
      hsr/////////////////////////////////////////////////////////////// 아래처럼 전체나 특적 칼럼,열에 ...
    • 수서니
      2002.07.25 04:18
      먼저 감사합니다요~ DBGrid1.colwidths[3]:=100; 일케 했더니 에러가 나는군요, Undeclared ident...
    • 임형호
      2002.07.25 04:44
      에러의 내용은 colwidths 라는 속성이 존재하지 않는다는 말입니다. 즉..잘못기입했다는 얘기지요. DBGri...
    • 홍성락
      2002.07.25 04:22
      hsr/////////////////////////////////////////////////////////////// 아래처럼 전체나 특적 칼럼,열에 ...
    • 수서니
      2002.07.25 19:32
      아~ 글쿠낭... ㅋㅋ 감사 감사요~~ 아주 잘 되네용... ㅎㅎㅎ
    • ji
    • 2002.07.24 23:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이현철
      2002.07.25 04:29
      우선 인디컴포넌트팩의 Sample 소스를 보시면 알수 있습니다,. 그리고 TIdUDPServer 컴포넌트 이벤트에 ...
    • 김동욱
    • 2002.07.24 23:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 양상훈
      2002.07.25 04:01
      //Checked 상태를 리턴하는 함수 Function TForm1.GetCheckState(hItem:HTREEITEM):Boolean; const &nbs...
    • 홍성락
      2002.07.25 22:31
    • 개미
    • 2002.07.24 23:23
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2002.07.26 23:55
      클라이언트의 Access가 2000이상이면 접속안되는 걸로 알고 있습니다 ODBC로 바께 안될듯.. 참고하시길.....
    • 개미
      2002.07.27 19:46
      답변 무지 감사드립니다. 고수님들에겐 별일 아니지만 저같은 초보는 많은 도움이 됩니다. 그리구, 결...
    • 나옹이
    • 2002.07.24 23:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 서영택
      2006.02.07 04:27
      oraquery1.Active:=true; --> oraquery1.SQL.Open;
    • 수서니
    • 2002.07.24 22:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2002.07.25 04:52
      구냥 ... 생각나는건... QRLabel.Caption:='출력할내용'+#13+'출력할내용' 하면 되거든요. 그럼 두줄로...
    • 이영동
      2002.07.25 20:46
      고정 ip가 없다면 이렇게 한번 해보세요.. 제가 사용을 해봤는데 동작이 잘 되더라고요.. 유도ip를 ...
    • 이현철
      2002.07.25 04:39
      맞습니다. 서버만이라도 고정ip를 사용해야 합니다. 메신저를 개발중이시라면, 메신저 클라이언트가 처...
    • 나옹이
    • 2002.07.24 22:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.07.24 22:30
      제가 보기에는 UPDATESql 컴포넌트를 않쓰신것 같습니다. Query컴포와 UPDATESql 컴포 연결시켜주신후 입...
    • 홍성락
      2002.07.25 00:52
      hsr//////////////////////////////////////// 여기 팁에서 '델파이에서 한글 조합과 분리'라는 제목을 찾...
    • 이현철
      2002.07.25 04:55
      보통 대부분의 컴포넌트들이 그렇겠지만, 델파이 기본 컴포넌트와 똑같은 컴포넌트들은 거의 없다고 생각...
    • 허진
    • 2002.07.24 20:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.07.24 22:41
      SAMPLE입니다. 도움이 되셨으면 좋겠네여....전에 저두 헤맸던 기억이... type // 메인 이벤트 PENTRe...
    • 허진
      2002.07.26 01:18
      답변 감사합니다. 그런데 잘.. 이해가.. 안가는 부분들이 있네요. 책찾아가며.. 열심히.. 보고 있습...