私はを使用してTimer
いて、定期的なチェックを実行させています。テスト条件が真の場合、スレッドを開始して、スレッドに実行させる必要があります。
そのスレッド内で、使用しているUIを変更したい場合InvokeOnMainThread()
。ただし、スレッドはTimer
すでに別のスレッドであるからトリガーされたInvokeOnMainThread()
ため、は実際のメインスレッドではなく、タイマーのスレッドで処理を呼び出します。InvokeOnMainThread()
私は2つの呼び出しをボクシングすることによってそれを回避します。
これは意図したとおりに機能していますか、それともMonoフレームワークのバグですか?メインスレッドは、現在のスレッドをトリガーしたスレッドとして定義されていますか、それとも「ルート」スレッドを返すことになっていますか?