|
동급최강바보 님이 쓰신 글 :
: 안녕하세여... 바보입니다..
:
: 다름이 아니라 Thread에 대해 질문할께여..
:
: 프로그램 내에서 TThread객체를 상속받아서 클래스를 만들었걸라여..
:
: 그래서 Thread를 동적으로 생성을 합니다(3개)..
:
: Thread에선 While문이 돌고있어여..
:
: 그래서 그런지 너무 인터럽트가 많이 걸려서 버벅거리네여..
:
: 디스플레이해야할 컨트롤들이 상당히 많은데 난처해여..
:
: 어떻게 해야하지..
:
: U&I프로그래머님은 어떻게 생각하시는지..
:
: - 이상 성남 어느 한 구석에서 플그램 짜던 개박살 결혼추진위원회 총무 바보가..
:
유앤아이 현지빠빠 입니다...
쓰래드라~~ 음 .. 일단 쓰래드를 돌릴때 쓰래드레서 무한 루프를 돌리면
당연히 늦어 지게 됩니다.~
꼭 작업이 일을때 돌아가야 한다 이거지~
단편 적인 예로 시리얼 콤포넌트 (알지 ?) 안에 보면 쓰래드가 돌아가지
근데 않에 보면 ...
While(1) {
시리얼 포트 억세스 ...
}
이렇게 돌아 가는게 아니라
while(1) {
시리얼 이벤트 Wait();
시리얼 포트 억세스 ...
}
이런식으로 되어 있지~
일단 이 2개의 소스를 보면 첫번째 While 루프는 무조건 돌아가는 방식이구~
두번째 While 루프는 시리얼 이벤트를 Wait 하게 한다음에 데이타가 들어 올때만
돌아간다는게 큰 차이지~ 이는 쓰래드를 짤래 매우 유의 해야 할점이라고 생각 한다~
꼭 쓰래드가 아니라도
단순히 빌더에서 무한 While 루프를 돌려보면~
While(1) {
i++;
}
이렇게 하면 CPU 가 100 % 를 먹는게 보일거다는 거지 이는 당연한거며~
프로그래머가 신경써서 퍼포먼스를 분배 해 주어야 한다는 거지~
따라서~
결론은 동기화 객체 같은걸 써가지고 퍼퍼먼스를 최대한 잘 분배하면
될거다~
그럼 답변이 되었을라나~~~
맘같아서는 진양에서 올라오는 질문은 답변해주고 싶은 맘이 정말 눈꼽 만큼도 없는데~
니네가 먼죄냐 싶다... 진양이 죄지~~ ㅋㅋ
그래 열심히~~ 수고~
|