<안드로이드>개발/안드로이드/App

[공부] Thread

소혼 2010. 6. 17. 11:06
반응형
<계속 업데이트 합니다 질문 환영>

자바를 해본지가 워낙 오래되어 놓으니 Thread도 제대로 못 만들어 헉헉된다.

안드로이드에서 Thread를 쓰려면 두개의 Runnable이 기본으로 생성되어야 하는 것 같다.

1. Thread 생성
    자바의 Thread를 만드는 것과 같다. 하지만 대부분 UI와 통신을 하기 위해서는 두개의 Runnable을 만드는게 일반적이다.
    private final Handler h = new Handler();
    private final Runnable uiProcess = new Runnable() {
        public void run() {
// UI와 통신을 담당, 버튼을 바꾸거나 seekbar를 수정하는 등
        }
    };
    private Runnable mythread = new Runnable() {// Child Thread
        public void run() {
            while (threadFlag) {
    h.post(uiProcess);
    try {
        Thread.sleep(300);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}
        }
    };

쓰레드를 만들고 싶은 곳에서 mythread 를 만들어 start 시키면 된다.
Thread mMythread = new Thread(null, mythread, "mythread");
mMythread.start();
Child thread에서 threadFlag를 하나 넣은 이유는 자바가 stop 메소드가 deprecated 된 듯 하다.
thread를 종료시키는 제대로 된 루틴이 필요할 것 같다.
일단 심플하게 threadFlag를 넣는 걸로 처리했다.
반응형