スコープの落とし穴
Javaのスレッドのようなスレッド操作のヘルパークラスを作った。こんな感じで使う。
Thread *thread = new Thread(Runnable *target, Logger *logger);
thread->start();
別スレッドで target->Run() が実行されて、それが終了しだいthreadもメモリから解放されるというもの。簡単な仕組みのわりになかなか便利だ。スレッドの状態をログに出すこともできる。
しかし、テストプログラムでテストしていたところ、エラーがたまに起こる。良く見ると、テストプログラムの中で、Loggerオブジェクトが、スレッド実行時点でスコープから外れてしまっていた。。。
これのせいで、徒歩で帰宅。orz