creator 现在能做到开一个线程来处理一些计算量非常大的工作吗?

creator 现在能做到开一个线程来处理一些计算量非常大的工作吗?
有的话, 相关文档在哪?
没有的话将来会不会支持?

顶上去

web 版本可以使用 webworker,自己搜看看吧

web 平台可以尝试 web worker
native 平台自己开一个线程做需要的工作就行

两者的难点都在数据共享上,这些属于平台层面通用的知识,所以我们的文档中没有覆盖

creator js 能否调用由java实现的Native网络接口(这个网络IO在子线程中进行)

java子线程会通过回调js函数通知游戏,而js又是单线程的,不知可以不

语言层面js是单线程,java直接回调js实际工作的是spidermonkey引擎,不考虑跨线程会导致spidermonkey出现各种莫名其妙的问题。

所以,这又是另外一个问题了
http://forum.cocos.com/t/js-java-java-js/45036/2

额, 就是平台没有提供这方面的东西?
native那边要自己在 c++那边, 把自己要异步执行的代码写在那, 然后在js层去调用, 再把运算结果回调回来
web那边要用webworker,
如果这样的话, 好像挺麻烦的,而且不能一套代码全平台通用,把异步执行的代码写在c++那边, 也不好修改, 只能单款单独定制。

那现有条件下, 有没有办法做到 封出一个接口,
类似这样的,doTest(task, callback) ;
传一个js方法让引擎去异步执行, 执行完后, 把结果通过callback 回调传回来。

这个task是什么? 如果这个task里面用到了当前环境的js变量,而这个变量被释放了怎么办?

这不是语言问题,也不是creator问题,是前端开发基本思想来决定。平台不是万能的,web端依赖浏览器,jsb端由spidermonkey引擎驱动。

可行的方案就是去tmd的多线程(除了听起来很唬小白),用asm.js去大幅度改善cpu密集运算效率。

1赞

我感觉可以这么弄,cc组件webview里是一个新的js执行环境如果能和那里运行的js交互就可,