Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[15350] Re:타이머와 쓰레드
조대현.Clau [casanebula] 3566 읽음    2014-12-10 15:33
두 경우가 많이 다릅니다.

델파이에 포함된 타이머 컴포넌트는 쓰레드타입이 아니라서 여러개를 쓰거나 작업량이 많으면 병목현상이 생깁니다.

이유는 타이어가 몇개이든 메인쓰레드 하나로 모두 처리해서 그렇습니다.
그래서 I/O작업하면 UI도 얼고(프리징) 다중작업이 안됩니다.
그리고 일단 1ms로 동작하지도 않습니다.
100ms로 타이어 5개 올려놓으면 interval 주기가 전혀 맞지 않을것입니다.

반대로 쓰레드는 매우 정확하게 할 수 있습니다.
오히려 동시에 작동하는 상황도 생기므로 임계영역처리도 필요하고 메인쓰레드의 UI작업에는 동기화작업도 필요합니다.
사용하기가 까다롭지만 컴퓨터의 자원을 100%까지(OS가 지원하는 한해서) 쓸 수 있습니다.

쓰레드로 만든 타이머컴포넌트가 있습니다.
이걸 쓰시면 좀더 쉽게 1ms까지 구현할 순 있습니다.

첫눈 님이 쓰신 글 :
: 좀 이상한 질문인지도 모르겠습니다.
:
: 그냥 기초가 부족하니 이런 질문을 하는구나 하고 이해해 주시면 감사하겠습니다.
:
:
: 예를들어
:
: 쓰레드를 5개 만들어 각각의 작업을 하는 경우와
:
: 타이머를 5개 만들어 OnTimer이벤트에 각각의 작업을 하도록 하고
: 5개의 타이머를 한번에 Enable시키는 경우와 어떤 차이가 있을까 해서요.
:
: 5개의 타이머를 한번에 Enable시켜도 여러개의 쓰레드로 동작하지 않을까요?
:

+ -

관련 글 리스트
15349 타이머와 쓰레드 첫눈 1743 2014/12/10
15350     Re:타이머와 쓰레드 조대현.Clau 3566 2014/12/10
15351         Re:Re: 답변 감사합니다. 첫눈 2227 2014/12/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.