- Forked from:
- ll_koba_ll's Threadの割り込みがうまくいかないことがある
forked from: Threadの割り込みがうまくいかないことがある
stageを連打してるとClickThreadのinterruptedが実行されないことがたまにある
一回目のクリックから3秒後にMainThreadからClickThreadにinterruptしてる
interrupt されてから実行されるまで EnterFrameThreadExecutor の場合だと
1 frame 間が空く。その間に event で設定したイベントが飛んでくると、
実行順序が意図している順番と逆になる場合がある。
その場合、意図した通りに割り込みされない。
1. Thread を event, interrupted を設定して WAITNG へ。
2. interrupt をコールして割り込む。
この時点で次の実行関数は interrupted で設定された関数になるものの、
_isInterrupted は false のままである。
3. event で設定したイベントがトリガーされる。
ここで next などで実行関数を登録した場合、次の実行関数が上書きされる。
4. 上書きされた実行関数が実行されるが、この時点で _isInterrupted は false なので、
割り込まれたのかどうか、判断する方法が無い。
@see http://www.libspark.org/ticket/104
- forked:0
- favorite:1
- lines:69
- license : MIT License
- modified : 2009-08-28 23:52:43


