Thread(스레드) - 스레드 사용하기, 메인 스레드(Main Thread), 데드락(DeadLock)

CODEDRAGON Development/Android

반응형

 

Thread(스레드)

동시 수행이 가능한 작업 단위

 

 

스레드 사용하기

·       스레드는 같은 프로세스 안에 있기 때문에 작업의 결과를 바로 처리할 수 있습니다.

·       그러나 UI객체는 직접 접근할 수 없으므로 핸들러(Handler) 객체를 사용해 메시지를 전달함으로써 메인 스레드에서 처리할 수 있도록 만들어 줍니다.

 

 

 

메인 스레드

·       안드로이드에서 UI처리하기 위해 사용되는 기본 스레드입니다.

·       메인 스레드에서 UI에 이미 접근해 있기 때문에 새로운 스레드는 핸들러 객체를 이용해서 메인스레드에 메시지를 전달하도록 처리해야 합니다.

 

 

 

데드락(DeadLock)

·       멀티 스레드 방식으로 같은 프로세스 안에서 실행되면서 메모리 리소스를 공유하게되면 효율적으로 처리가 가능하지만,

·       만약 동시에 리소스에 접근할 경우 데드락이 발생하고 시스템이 비정상적으로 동작할 수 있습니다.

·       동시 접근으로 인한 데드락을 막기 위해 작업을 순서대로 처리해야 되는데 이를 메인 스레드의 핸들러가 담당하게 됩니다.