BREW で MicroThread

デキタ━━━━(゚∀゚)━━━━!!

class Hoge : public MicroThread{
public:
    void OnMove(){
        if( !isExecute() ){
            start();
        }else{
            resume();
        }
    }
    
    virtual void run(){
        int x = 0;
        for( int i = 0 ; i < 100 ; i++ ){
            x += 2;
            suspend();
        }
    }
};

これでちゃんと、ローカル変数の x は OnMove() が呼び出されるたびに 2 ずつ増えていきます(`・ω・´)


これを使えば while 文でぐるぐる回しながら実行なんてのも簡単に出来ます(*´д`*)ハァハァ



でも suspend() 中に MicroThread を終了すると、ローカルで new をしていた領域がリークします(´・ω・`)
領域を解放するだけならメモリプールに確保して、終了時に解放すればいいけど、デストラクタが呼ばれない……。
これさえ何とか出来ればなぁ……(;´Д`)