Q&A

  • 인디에서 thread pooling 관련 질문요..^^;
안녕하세요.
인디 TCPserver 에 클라이언트가 접속하면
개별 스레드로 생생 되잖아요
클라아언트별로 생성된 스레드내에서
Qruery 동적 생성해서 사용하고
해지 하는데
이렇게 하면 클라이언트 연결이 잦을때
생성.. 파괴..로 인한 오브헤드가 발생될까
염려 스럽네요.
그래서 Query 를 미리 생성해놓고 재사용하고자
하는데 어떻게 해야 되는지 감이 안잡히네요.
여러분들의 도움글 부탁드립니다.
그럼 수고하세요~~;

2  COMMENTS
  • Profile
    채팅 2005.08.09 16:26
    인디의 스레드풀 컴포넌트를 사용하면 됩니다.

    참고로 인디의 9.x버젼까지의 풀링은 진정한 풀링이라고 보다는 Recycling에 가깝습니다.
    풀링은 사용자의 연결숫자에 관계없이 서버에서 일정한 수의 스레드로 서비스를 담당하는데 반하여 인디의 경우 사용한 후의 스레드를 다음 사용자가 재사용한다는 차이입니다. 그러므로 인디의 경우 현재 연결된 사용자 숫자 + 풀속의 스레드숫자가 서버에서 사용하는 스레드의 총 갯수입니다.

    10.x에서 Fiber라는 개념으로 제대로 된 풀링을 지원한다는데 제대로된 예제도 문서도 없더군요. 갈길이 한참 먼 것 같습니다.

  • Profile
    아러브델파이 2005.08.09 20:14
    채팅님 답변 너무 감사 드립니다.

    제가 질문을 잘 못 작성해서 제가 원하는 답변에서 방향이 벗어났네요^^;

    하지만 유익한 답변이었습니다.

    다시 정정해서  질문하면요...

    제가 작성한 인디 스레드내에서는 Tquery 동적으로 생성 >> 사용 >> 해지를 하는데

    클라이언트 연결이 잦을때 Tquery 동적생성 해지로 인한 오버헤드가 염려

    됩니다.

    Tquery를 pooling 하는 방법이 있을까요.?

    혹 있다면 Query pooling을  관리하는 객체가 있는건지요?

    아니면 프로그래머가 직접 로직을 구현 해야 하는지요?

    날씨도 더운데 너무 한꺼번에 많은 질문을 한것 같아

    염치 없습니다.

    그럼 무더운 여름 건강 조심하세요~