두 경우가 많이 다릅니다.
델파이에 포함된 타이머 컴포넌트는 쓰레드타입이 아니라서 여러개를 쓰거나 작업량이 많으면 병목현상이 생깁니다.
이유는 타이어가 몇개이든 메인쓰레드 하나로 모두 처리해서 그렇습니다.
그래서 I/O작업하면 UI도 얼고(프리징) 다중작업이 안됩니다.
그리고 일단 1ms로 동작하지도 않습니다.
100ms로 타이어 5개 올려놓으면 interval 주기가 전혀 맞지 않을것입니다.
반대로 쓰레드는 매우 정확하게 할 수 있습니다.
오히려 동시에 작동하는 상황도 생기므로 임계영역처리도 필요하고 메인쓰레드의 UI작업에는 동기화작업도 필요합니다.
사용하기가 까다롭지만 컴퓨터의 자원을 100%까지(OS가 지원하는 한해서) 쓸 수 있습니다.
쓰레드로 만든 타이머컴포넌트가 있습니다.
이걸 쓰시면 좀더 쉽게 1ms까지 구현할 순 있습니다.
첫눈 님이 쓰신 글 :
: 좀 이상한 질문인지도 모르겠습니다.
:
: 그냥 기초가 부족하니 이런 질문을 하는구나 하고 이해해 주시면 감사하겠습니다.
:
:
: 예를들어
:
: 쓰레드를 5개 만들어 각각의 작업을 하는 경우와
:
: 타이머를 5개 만들어 OnTimer이벤트에 각각의 작업을 하도록 하고
: 5개의 타이머를 한번에 Enable시키는 경우와 어떤 차이가 있을까 해서요.
:
: 5개의 타이머를 한번에 Enable시켜도 여러개의 쓰레드로 동작하지 않을까요?
:
|