반응형
스레드는 자바 뿐 아니라 안드로에드서도 굉.장.히 중요한 역활을 합니다.
정말 간단하게 이야기해서 스레드를 이야기하자면 여러분이 어플이나 여러 스마트폰에서 보시는 '잠시 기다려주세요' 혹은 동그라미 로딩을 표시하며 돌아가거나 하는 등의 '지금 작업하고 있습니다. 기다리세요' 라는 부분입니다.
별 거 아닌 것 같아보이시나요?
하지만 UI 에서는 굉장히 큰 역활을 차지하고 있는 부분입니다. 왜냐하면 프로그래머의 입장에서 A라는 작업을 처리하려면 1분 정도가 걸리겠는데, 그 1분 사이에 클라이언트가 마구 터치를 한다거나 이것저것을 클릭한다면, 분명 Error가 발생할테니까요!
때문에 안드로이드서는 더더욱이 중요하고 자유롭게 사용해야 하는 부분이 "Thread" 입니다.
새로운 스레드를 만드는 방법은 간단합니다.
1. Runnable 객체를 만든다.
Runnable threadjbo = new MyRunnable();
Runnable은 제공해주는 인터페이스이며 Runnable 인터페이스를 구현하는 클래스를 만들어서 똥그라미가 돌아가는 동안 처리해야 할 작업을 그 곳에 넣어줍니다.
2. Thread 객체를 만들고 객체에 Runnable 의 작업을 전달합니다.
Thread myThread = new Thread(threadJob);
(현재 예제는 자바를 예를 들어 설명중입니다. 안드로이드는 2편이나 3편에서 설명드리겠습니다.)
새로운 Runnable 객체를 Thread 생성장에 전달합니다.
3. Thread 객체를 시작시킵니다.
myThread.start();
thread를 start() 하게 되면 그제서야 이제 할작업을 하며 스레드를 생성하게 됩니다.
여기까지 스레드가 이런것이구나 라는 것이 머릿속에 떠오르셨을 겁니다.
즉 Thread는 일하는 사람이고 Runnable은 작업입니다. 사람을 하나 만들어주고 일을 주면 그 사람은 자신이 일을 하고 있는지 아니면 뭐 어떤 상황인지 에러가났는지 볼 수 있게 됩니다. 물론 사람에게 일하는 시간을 주거나 할수도 있겠죠.
다음시간에는 Runnable 인터페이스를 구현해보고 3편쯤에서는 멀티스레딩! 여러개의 스레드 사람을 두는 방법에 대해서, 그 후에는 안드로에서의 스레드에 대해 알아보도록 하겠습니다.
반응형
'옛글 > 안드로이드 프로그래밍' 카테고리의 다른 글
[Android] Action 과 Intent 정리 (0) | 2012.02.20 |
---|---|
[Android] 롤링(아이폰UI같은) 오픈소스 (0) | 2012.01.31 |
Interface와 Instance의 차이점 (0) | 2012.01.16 |
안드로이드&자바 interface에 대한 개념을 세워보자 (0) | 2012.01.16 |
자바&안드로이드 Class Reflection 개념 세우기 (0) | 2012.01.16 |