package rune.and.test;


import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;
import android.widget.Toast;

public class Thread_testActivity extends Activity {
 
 int value =0, value2=0;
 TextView mText, mText2;
// BackThread2 thread2 = new BackThread2();
// private MyHandler mHandler;
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        mText=(TextView)findViewById(R.id.tv);
        mText2=(TextView)findViewById(R.id.tv2);

 //       mHandler=new MyHandler();

     BackThread thread = new BackThread();
  //   thread.setDaemon(true);
        thread.run();
     //   thread2.run();
    }
   
   
   
    class BackThread extends Thread{
     public void run()
     {
      Toast.makeText(Thread_testActivity.this,"쓰레드시작", Toast.LENGTH_LONG).show();
      while(true){        
      if(value==5)
        break;
      value++;
      mHandler.sendEmptyMessageDelayed(0,10);
      try{Thread.sleep(1000);
      }
      catch (InterruptedException e)
       {;}
      }
      Toast.makeText(Thread_testActivity.this,"쓰레드정지", Toast.LENGTH_LONG).show();
      
     }
    }
   
    Handler mHandler= new Handler()
 {
  public void  handleMessage(Message msg)
  {
   if(msg.what==0)
   {
    Toast.makeText(Thread_testActivity.this,"111", Toast.LENGTH_SHORT).show();
       mText.setText("1.Value"+value);
   }
  }
 };

}

 

 

대략 이런구조료

시작을 하면 텍스트뷰1에 1초간격으로 총 5초간 숫자를 +1씩 하는 내용인데...

시작후 5초간 멍때리다가 한번에 5가 표기되고 끝납니다.

생각대로라면 1초간격으로 핸들에게 메세지를 보내서 +1씩 해야하는데...

 

일단 쓰레드가 하나라도 멀쩡히 굴러가야 두세개를 동시에 돌려보곤 할텐데...

어디가 문제인지 알 수 있을까요?

 

 

그리고 혹시 멀티쓰레드의 소스 예제가 있는곳 어디 없을까요?