多线程performFunctionInCocosThread BUG

环境:
cocos2dx-3.10
vs2015
win10

创建方式:cocos new -l js -d D:/test GameProject

问题描述:
在main.js里面有一段代码:
function TestGlobalAddValue()
{
for(var i = 0; i < 100; i++)
{
//var event = new cc.EventCustom(“game_custom_event1”);
//event.setUserData("i = " + i);
//cc.eventManager.dispatchEvent(event);

    cc.director.getScheduler().performFunctionInCocosThread(function(){

    });
}

}

在C++里面创建一个线程:
线程里面调用TestGlobaAddValue脚本。

问题来了,不管是Event方式,还是performFunctionInCocosThread方式,都会崩溃。

请测试下呢…

有没有知道怎么回事的,求助。。。。。

在C++ 线程里面调用
for (int i = 0; i < 100; i++)
{
//bRet = pCore->evalString(“TestGlobalAddValue()”);

 Director::getInstance()->getScheduler()->performFunctionInCocosThread(=] {
     CCLOG("%d", i);
 });

}
没有任何问题

但是只要是调用脚本,然后脚本再调用performFunctionInCocosThread就会出问题,而且是必现。

虽然不知道你在说什么,但是据我所知,cocos2d的绘图和内存管理的API都不是线程安全的,也就是说你在子线程里不能调用cocos2d的绘图函数以及内存管理的函数,否则程序会崩溃