|
좀 다양한 상황이 나올 수가 있는데요..
스레드를 써서 꼭 효율적이다라고 말할 수는 없겠지만,
상용으로 제작하는 프로그램들은 상당히 복잡하고, 할 일도 많아서,
하나의 시점에 하나의 일만 처리하는 프로그램이 별로 없지요.
그래서, 여러 가지 일을 스레드로 뽑아서 독립적으로 수행하고,
스레드간 데이터 교환은 중간에 큐를 두거나 하는 방식으로 하지요.
그러나, 아주 간단한 프로그램이라면 굳이 통신용 스레드나 DB 스레드를
갖을 필요는 없다고 생각이 되네요.
문제는 스레드를 쓰면 성능이 향상된다가 아니라,
어떤 상황일 때 스레드를 써야 하고, 어떤 상황일 때는 그냥 싱글 스레드(메인스레드)에서
모두 처리해도 되고... 이것을 판단하는 것이 더 중요하겠지요.
가령 소켓 통신용 스레드와, DB 관련 스레드, 메인 스레드 이렇게 3개의 스레드로
개발 할 수도 있고, 이 모든 스레드의 기능을 메인 스레드에 다 넣어서 개발할 수도
있거든요. 요지는 어떻게 구성하는 것이 해결할 문제에 더 적합하느냐 하는 것이죠..
이것은 나름 선구안이나, 경험도 한 몫하는 부분이기도 합니다.
JGK 님이 쓰신 글 :
: 답변 감사합니다.
: 그렇다면, 데이타 모듈을 통하여 TCP/IP 통신이나,
: 데이타베이스 접속을 통한 데이터를 획득할시에
: 별도의 Thread를 사용하는 것이 더 나은 효율성을 가진다고 볼 수 있을까요?
: 송신영 님이 쓰신 글 :
: : JGK 님이 쓰신 글 :
: : : 안녕하세요. 매번 도움받고있습니다.
: : : Builder의 경우 개별 적으로 Form& DataModule 등을 가지잖습니까?
: : : 이 개별 Form 들은 개별 Thread인가요? 아니면 파일이 분할된 하나의 Thread인가요?
: : :
: :
: : 하나의 Thread에서 모두 처리됩니다.
|