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 をしていた領域がリークします(´・ω・`)
領域を解放するだけならメモリプールに確保して、終了時に解放すればいいけど、デストラクタが呼ばれない……。
これさえ何とか出来ればなぁ……(;´Д`)