cocos2dx创建线程

转载 2013年12月02日 19:39:54

转自:http://blog.csdn.net/weyson/article/details/7865414


为了防止程序假死,需要另起线程处理网络连接。

好吧,那就从创建线程开始。

这次我的环境是在Mac下。在网上查阅和参考了很多资料,感谢这些无私奉献的前辈们的努力。

进入话题。

头文件:

  1. pthread_t th_socket; // 起这个名字本打算用在socket上的  
  2. int threadStart();// 启动线程的方法  
  3. static void* thread_funcation(void *arg);// 被启动的线程函数,注意必须是静态方法  

函数定义:(我最喜欢把我的练习都写在HelloWorld类里面了,哈哈)

  1. // 启动线程的方法  
  2. int HelloWorld::threadStart()  
  3. {  
  4.     int errCode=0;  
  5.     do {  
  6.         pthread_attr_t tAttr;  
  7.         errCode=pthread_attr_init(&tAttr);  
  8.         CC_BREAK_IF(errCode!=0);  
  9.         errCode=pthread_attr_setdetachstate(&tAttr, PTHREAD_CREATE_DETACHED);  
  10.         if(errCode!=0)  
  11.         {  
  12.             pthread_attr_destroy(&tAttr);  
  13.             break;  
  14.         }  
  15.         errCode=pthread_create(&th_socket, &tAttr, thread_funcation, this);  
  16.           
  17.     } while (0);  
  18.     return errCode;  
  19. }  
  20.   
  21. // 需要线程来完成的功能都写在这个函数里  
  22. void* HelloWorld::thread_funcation(void *arg)  
  23. {  
  24.     CCLOG("thread started...");  
  25.     return NULL;  
  26. }  
然后我在HelloWorld::init()方法的后面加了一句代码来启动新线程:

  1. this->threadStart();  

编译后运行:

在输出窗口中可以看到:

说明线程正确执行。



cocos2dx创建线程

原计划是开始学习cocos2dx socket客户端的开发, 在网上查了些资料,说为了防止程序假死,需要另起线程处理网络连接。 好吧,那就从创建线程开始。 这次我的环境是在Mac下。在网上查阅和...
  • weyson
  • weyson
  • 2012年08月14日 16:09
  • 9130

cocos2dx2.0 与cocos2dx3.1 创建线程不同方式总结

cocos2dx2.0 与cocos2dx3.1 创建线程不同方式总结,cocos2dx2.0中创建线程的方式在cocos2dx3.1中同样可用,但需要NDK编译,VS2012编译会报错的。...
  • iasxk
  • iasxk
  • 2014年06月12日 10:14
  • 1439

cocos2dx2.x 与cocos2dx3.x创建线程不同方式总结

1、cocos2dx2.0 中 1.配置 在使用pthread之前,需要把头文件和库文件链接进来。 1.1头文件 pthread.h放在\cocos2d-x目录\cocos2dx\pl...

有关cocos2dx游戏中复制与粘贴的问题(跨线程的操作)

主要解决游戏中粘贴的跨线程的问题,对于需要适配大多数安卓机的可以参考...

Bullet(Cocos2dx)之创建地形

  • 2015年01月09日 19:46
  • 529KB
  • 下载

cocos2dx-深度解析plist文件(二)(CCSpriteFrameCache怎么从解析出的数据创建精灵帧的)

cocos2dx-深度解析plist文件(二)(CCSpriteFrameCache怎么从解析出的数据创建精灵帧的) 精灵帧的创建 CCSpriteFrameCache::addSpriteF...

cocos2dx多线程

  • 2013年12月30日 17:18
  • 46.54MB
  • 下载

cocos2dx 3.4下如何创建项目

1.原料及工具: cocos2dx 3.4的安装包,VS2012或者其更高版本,Python 2.原料的获取: cocos2dx 3.4:http://www.cocos.com/downloa...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cocos2dx创建线程
举报原因:
原因补充:

(最多只允许输入30个字)