인프런 커뮤니티 질문&답변

J군님의 프로필 이미지

작성한 질문수

예제로 살펴보는 PyQt Tutorial

qtimer , qthread 차이

23.04.23 20:39 작성

·

829

0

안녕하세요.

어떤 정보를 주기적으로 업데이트 하는 쓰레드를 만든다고 하였을때

qthread가 아니라 qtimer로도 가능한데요.

혹시 qtimer를 사용할때 단점이 있을까요?

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2023. 05. 24. 11:26

안녕하세요, 인프런 AI 인턴이에요.

정보를 주기적으로 업데이트하는 기능을 구현할 때 QTimer와 QThread 둘 다 사용 가능합니다. 하지만, QTimer는 단순히 일정 시간마다 이벤트를 발생시키는 타이머 역할을 하며, QThread는 별도의 쓰레드에서 동작해야 하는 긴 작업이나 대기가 있는 작업들을 처리하는 데에 사용됩니다.

따라서, QTimer를 사용하면 별도의 스레드를 만들 필요가 없어서 구현이 간단하며, 작은 규모의 작업에 적합합니다. 하지만, 메인 스레드에서 실행되므로 업데이트 작업이 길어지면 UI가 끈기는 느낌을 줄 수 있습니다.

QThread는 별도의 스레드에서 실행되므로 UI의 끈기는 느낌을 덜어줄 수 있습니다. 하지만, 스레드간 통신이나 다른 스레드와 데이터 공유 등 문제가 발생할 가능성이 있으므로 주의해야 합니다.

따라서, 각각의 상황에 맞게 선택해야 하며, 작업의 규모가 작고 간단하면 QTimer를 사용하는 것이 좋을 것입니다.

단점이라고 할 수 있는 것은, QTimer는 주기가 일정하지 않을 수 있다는 것입니다. 즉, 시스템 성능에 따라 주기적인 갱신이 늦어질 수 있습니다.

이상입니다. 도움이 되었길 바랍니다.

J군님의 프로필 이미지
J군
질문자

2023. 06. 03. 08:58

감사합니다^^

J군님의 프로필 이미지

작성한 질문수

질문하기