public Action DequeueMainThreadOperation() { Action action = null; lock(_mainThreadCallbackLock) { if (_mainThreadCallbacks.Count > 0) { action = _mainThreadCallbacks.Dequeue(); } } return action; }