常駐スレッドを作るには?

resident-thread.png

スレッドをwait状態にする

public class MiffyThread extends Thread {
    Object mLock=new Object();//ロック用オブジェクトを作らないとエラーになる
    @Override public void run() {
            synchronized(mLock) {
                    mLock.wait();
            }
    }
}

常駐スレッドにするには? さらにnotifyで起こすコードを追加しよう★

package com.example.sandbox;
 
import android.util.Log;
import android.widget.TextView;
 
public class MiffyThread extends Thread {
    TextView mTextView;
    int mCount = 0;
    Object mLock = new Object();
 
    public MiffyThread(TextView textView) {
        super("miffythread");
        mTextView = textView;
    }
 
    @Override public void run() {
        try {
            while (true) {
                Log.d("miffy", "miffy thread start!!!" + mCount + "");
                synchronized (mLock) {
                    mLock.wait();
                }
                mCount++;
                if (mCount > 100000) {
                    break;
                }
            }
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
    }
 
    public void wakeUp() {
        synchronized (mLock) {
            mLock.notify();
        }
    }
}

サポートサイト Wikidot.com