3.x里面的事件派发是线程安全的嘛?

3.x里面的事件派发是线程安全的嘛?
我看只是做了简单的变量标识,而这怎么看也不是线程安全的.
void EventDispatcher::removeEventListener(EventListener* listener)
{

auto removeListenerInVector = &](std::vector<EventListener*>* listeners){
if (listeners == nullptr)
return;

    for (auto iter = listeners->begin(); iter != listeners->end(); ++iter)
    {
        .........
            
            if (_inDispatch == 0)
            {
                listeners->erase(iter);
                CC_SAFE_RELEASE(l);
            }
            
            isFound = true;
            break;
        }
    }
};


}

void EventDispatcher::dispatchEvent(Event* event)
{

DispatchGuard guard(_inDispatch);


}

void EventDispatcher::addEventListener(EventListener* listener)
{
if (_inDispatch == 0)
{
forceAddEventListener(listener);
}
else
{
_toAddedListeners.push_back(listener);
}

listener->retain();

}

事件派发也在主线程里,为什么会说线程不安全。。

事件派发应该是一个被动模型,事件派发不会主动去派发

我说的场景,比如网络请求回调在一个线程,在回调里进行事件派发 ,而这时主线程注册或者移除事件