GUI는 겉으로 보기에는 동시에 여러가지 일이 일어나고 있는 것처럼 보여도, 결국엔 하나의 쓰레드이기 때문에 한번에 하나만 처리할 수 있습니다.
예를 들어 버튼눌렀을때 어떤 일을 처리하는데 1분이 걸렸다면 그 1분동안은 아무것도 못하는 겁니다.
따라서 장시간 걸리는 작업을 할 때 GUI를 막지 않기 위해서는,
1. 장시간 걸리는 작업을 별도의 쓰레드로 처리한다.
2. 장시간 걸리는 작업을 여러번으로 나누어서, 중간중간 GUI의 이벤트루프와 같이 처리해준다.
이 두가지 방법중 하나를 택하는 수밖에 없습니다.
스레드를 언급하신 걸로 봐선 1번은 특별히 설명을 요하지 않을 듯합니다.
2번은 짧은 작업을 GUI의 이벤트 루프 속에서 처리하는 것으로,
예를 들면 타이머를 실행하고 몇번 실행하면 타이머를 끄는 식으로 할 수도 있고,
특정 이벤트와 관련지어서 지속적으로 이벤트를 보내주는 방법으로 처리할 수도 있습니다.
GUI는 겉으로 보기에는 동시에 여러가지 일이
GUI는 겉으로 보기에는 동시에 여러가지 일이 일어나고 있는 것처럼 보여도, 결국엔 하나의 쓰레드이기 때문에 한번에 하나만 처리할 수 있습니다.
예를 들어 버튼눌렀을때 어떤 일을 처리하는데 1분이 걸렸다면 그 1분동안은 아무것도 못하는 겁니다.
따라서 장시간 걸리는 작업을 할 때 GUI를 막지 않기 위해서는,
1. 장시간 걸리는 작업을 별도의 쓰레드로 처리한다.
2. 장시간 걸리는 작업을 여러번으로 나누어서, 중간중간 GUI의 이벤트루프와 같이 처리해준다.
이 두가지 방법중 하나를 택하는 수밖에 없습니다.
스레드를 언급하신 걸로 봐선 1번은 특별히 설명을 요하지 않을 듯합니다.
2번은 짧은 작업을 GUI의 이벤트 루프 속에서 처리하는 것으로,
예를 들면 타이머를 실행하고 몇번 실행하면 타이머를 끄는 식으로 할 수도 있고,
특정 이벤트와 관련지어서 지속적으로 이벤트를 보내주는 방법으로 처리할 수도 있습니다.
해결되었습니다.
덕분에 정말 좋은것 배워갑니다.
정말 감사합니다
교만하지말자.
댓글 달기