cocos2dx创建线程

转自: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 ios
个人分类: cocos2d
上一篇Lion版本Mac OS下查看iPhone Simulator目录
下一篇pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock,函数(线程互斥的例子)
想对作者说点什么? 我来说一句

cocos2dx与多线程

多线程

qq_24120771 qq_24120771

2017-12-03 18:57:22

阅读数:277

cocos2dx 基础代码

2014年01月11日 3KB 下载

cocos2dx小游戏

2014年03月18日 5.04MB 下载

cocos2dx 中文文档

2013年10月11日 2.46MB 下载

cocos2dx for qt

2013年07月24日 43.05MB 下载

cocos2dx 水波纹

2013年08月27日 5.46MB 下载

cocos2dx多线程

2013年12月30日 46.54MB 下载

没有更多推荐了,返回首页

关闭
关闭