마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Thread 안에 변수선언 관련 질문

0 추천
protected Thread mThread;

public Yaho()
{
    mThread = new Thread(new Runnable()
    {
        Thread mParent = mThread;
        @Override
        public void run()
        {
            ..............
        }
    }

    ..............
}

 

이런식으로 사용을 할 때 제대로 mParent에 mThread가 전달이 되는지 궁금합니다

마피 (2,970 포인트) 님이 2014년 10월 1일 질문

2개의 답변

+1 추천
 
채택된 답변

실행순서가 Runnable을 먼저 생성하고 Thread를 생성하고 있죠

Thread mParent = mThread;

이 문장이 스레드가 생성되기전에 실행되므로 

mThread에 넣어둔 값이 없다면 null이 할당 될겁니다

run안에서 mThread를 가져다 쓰고 싶으시다면

그냥 Thread.currentThread()를 부르세요

 
alkyne (22,960 포인트) 님이 2014년 10월 1일 답변
마피님이 2014년 10월 1일 채택됨
0 추천

public yahoo() {

final Thread th = new Thread(new Runnable() {

public void run() {

th;

}

});

aucd29 (218,390 포인트) 님이 2014년 10월 1일 답변
final 안쓰고 저런식으로 하면 제대로 처리안되나요??
...