sclass Trigger { transient bool triggered; synchronized void trigger() { triggered = true; } // check if triggered and clear flag synchronized bool isTriggered_clear() { if (!triggered) false; ret true with triggered = false; } }