-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RunLoop란 무엇이며, App에서의 RunLoop는 몇 개인가요? #19
Comments
런루프는 스레드와 관련된 이벤트 처리 루프이다. 런루프는 터치 이벤트, 타이머와 같은 입력 소스를 관리한다. 스레드의 런루프에 접근하고 싶다면 기본적으로 메인 스레드는 항상 하나의 런루프를 가지고 있고 시스템이 자동으로 실행하고 반복 처리한다. 메인 스레드 외의 추가적인 스레드는 각자의 런루프를 가지고 있지만 기본적으로 생성되지 않은 상태이다. 따라서 필요하다면 직접 스레드의 런루프를 명시적으로 실행시켜줘야 하고 이는 메인 스레드처럼 기본적으로는 반복 실행되지 않기 때문에 따로 처리가 필요하다. 즉 App에서 런루프의 개수는 기본적으로 생성되는 메인 스레드의 런루프와 추가된 스레드의 수를 더한만큼이라고 보면된다. |
|
RunLoop는 애플의 OS에서 스레드의 이벤트를 관리하고 처리해주는 객체입니다. 주로 사용자 인터페이스 이벤트, 타이머, 니트워크 요청 등을 대기하고 처리하여 스레드가 종료되지 않고 지속적으로 실행될 수 있도록 도와주는 역할을 합니다. 앱에서는 기본적으로 메인 스레드를 처리하기 위한 메인 RunLoop가 하나 존재하며, 추가적으로 백그라운드 스레드들을 관리하기 위해 각 스레드 마다 별도의 RunLoop가 존재할 수 있습니다. 그렇기에 RunLoop의 개수는 최소 1개는 존재하고, 스레드의 수만큼 추가될 수 있습니다. |
The text was updated successfully, but these errors were encountered: