Kori 8월 14일에 포스트됨 공유하기 8월 14일에 포스트됨 << Bootcamp 2023 목록으로 이동 UI (사용자 인터페이스, User Interface)가 있는 애플리케이션을 만드는 개발자라면 전문가로서 알아야 할 내용이라고 생각되어 추천합니다. 특히, 개발한 앱의 UI가 가끔 반응하지 않고 멈추는 경우가 있다면 매우 도움이 될 것입니다. 원본 비디오(YouTube) 보기 (60 min) Bootcamp 의 2023 시리즈 중, "Using Background-Threads to Keep Your UI Responsive - Olaf Monien" (60 min) 의 한글 요약본입니다. 이 세션에서는 UI 애플리케이션에 백그라운드 쓰레드(thread)를 실제로 적용하는 코드를 직접 보여주고 설명합니다. 백그라운드 쓰레드(thread)를 사용하지 않은 앱의 일반적인 작동을 먼저 보여주고, 백그라운드 쓰레드(thread)를 사용하지 않은 앱에서 데이터 조회 등 작업이 오래 걸리는 상황을 만들어서 UI가 반응하지 않고 얼어버리는 상황을 보여주고, UI가 반응하도록, (즉, 백그라운드 쓰레드를 사용하도록) 코드를 함께 수정하면서 설명합니다. 아울러, 백그라운드 쓰레드에서는 UI 컨트롤을 직접 다루지 않아야 한다는 점 등 주의할 사항과 알아 둘 할 사항들도 배울 수 있습니다. TTask, TThread 등 쓰레드와 별개로, 간단하지만 꼼꼼히 코드를 보여주고 설명하므로, 기본 TEdit에 사용자가 입력을 하면 이에 반응하여 결과를 TEdit 아래에 목록으로 보여주는 매우 간단한 방법 등 유용한 팁들도 배울 수 있는 것들도 있습니다. [슬라이드] 데모 중심 세션이므로, 이론은 아래 내용을 담은 슬라이드는 1장만 사용하고 있습니다. 쓰레드(thread)란 무엇인가? 앱의 UI는 단일-쓰레드에서 처리된다. 모든 사용자 활동 (그리고 코드 안에서 사용한 Timer도) 이 UI-쓰레드 안에서 실행된다 UI-쓰레드 = 메인 쓰레드 (이 UI 처리 쓰레드가 바로 메인-쓰레드이다) 메인-쓰레드가 방해를 받으면, 앱에는 치명적인 영향을 준다 Application.ProcessMessages를 멀리하라 인터넷에서 UI가 얼었들 때 해소방법으로 이것을 보게 될 수도 있지만, 좋은 방법이 아니며, 실제로 단일-쓰레드 처리이다. Application.ProcessMessages를 쓰고 싶은 상황에서는, 멀티-쓰레드를 구현하는 것이 좋다. 그 방법은 이 세션에서 배울 수 있다) 쓰레드는 악마가 될 수도 있다 (쓰레드는 알맞은 곳에 알맞은 방법으로 써야 한다. UI 관련된 유의사항은 이 세션에서 배울 수 있다) View full 엠바카데로 기술자료 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.