发现问题一枚.(应该说不完善的地方?)

版本:cocos2d-x 3.0 beta
相关函数:
![](file:///C:\Users\letian\Documents\Tencent)
CCScheduler->update ,CCScheduler->performFunctionInCocosThread

如图1
蓝色指向的函数被加锁了
所以这个函数里边就不允许执行performFunctionInCocosThread以push更多function到_functionsToPerform里边

好吧.
一般都是这么写吧.
if( !_functionsToPerform.empty() ) {
_performMutex.lock();
auto temp = _functionsToPerform;
_functionsToPerform.clear();
_performMutex.unlock();

    for( const auto &function : temp ) {
        function();
    }
}

= = 写这个函数的人没什么编程经验吧(or太着急?)…

抱歉,刚才发现我是错的= = 这个是在子线程中push函数给主线程执行,这样function()只会在cocos的主线程中执行,主线程中执行这个PUSH并没有意义…,所以我这个担心是无谓的…

谢谢亲的反馈
已提交修改https://github.com/cocos2d/cocos2d-x/pull/5451
相应的issue创建:http://cocos2d-x.org/issues/4123
建议亲下次可以给我们github仓库直接提交代码,我们会在authors中列入您的大名哦:867:
欢迎所有热爱cocos2d-x引擎的童鞋参与引擎的开发和维护.

嗷,刚才发现我是错的= = 这个是在子线程中push函数给主线程执行,这样function()只会在cocos的主线程中执行,主线程中执行这个PUSH并没有意义…