ofThread problem?help!

class BlurImageThread : public ofThread{

public:

	bool isBlurFinish;
	//--------------------------
	BlurImageThread(){
		isBlurFinish = false;
    }
	//--------------------------
	void threadedFunction(){

		while( isThreadRunning() != 0 ){
			if( lock() ){
                if(!isBlurFinish)
                {
					isBlurFinish = true;
                }
				unlock();
			}
		}
	}

	//--------------------------
	void blurImage(ofImage &srcImage){
        if(lock()){
			isBlurFinish = false;
		}
        unlock();
        
        ofAddListener(ofEvents().update, this, &BlurImageThread::update);

		startThread(true); 

	}

	void update(ofEventArgs & a){
		if(lock()){
			if(isBlurFinish)
			{
				ofRemoveListener(ofEvents().update, this, &BlurImageThread::update);
           
				stopThread();
			}
		}
		unlock();
	}

};


on iOS this is runing OK,but on Android and WIN ,always crashes!!

why?help

@arturo