有的时候很多操作如果在Cocos2d-x的主线程中来调用,可能会极大地占用主线程的时间,从而使游戏的不流畅。比如在获取网络文件数据或者在数据比较大的游戏存档时,就需要使用多线程了。
网上的一些教程上是使用pthread来创建新线程的,需要加入lib和头文件,但在Cocos2d-x 3.0中并未发现有pthread的支持文件,后来才发现在C++11中已经拥有了一个更好用的用于线程操作的类std::thread。Cocos2d-x 3.0的版本默认是在vs2012版本,支持C++11的新特性,使用std::thread来创建线程简直方便。
直接调用函数
std::thread t(func);
带参数的函数
std::thread t(func,param1,param2...);
类的成员函数(函数类型不需要是静态的)