cocos2dx2.x版本的pthread的一些注意事项
来源:互联网 发布:8051内核的单片机 编辑:程序博客网 时间:2024/06/07 00:09
这几天被线程的野指针搞得头都大了,一方面是对于线程的理解不透彻,一方面写代码也不太规范。也是对这几天的一个总结吧。
1.pthread_t必须是静态变量,否则会出现野指针
有可能你这个类退出了,但是进程还在运行,这时候进程ID的内存被释放掉了,但是进程还是要读取这个ID,就会在检查野指针的构造或者析构函数中报错
2.如果需要传值进进程中,最好不要用类似下面的方法传值
tagTableID *TableID = new tagTableID();TableID->wTableID = ti.at(listView->getCurSelectedIndex()).wTableID;memset(TableID->szPassword,0,PASS_LEN);pthread_create(&tid_Host_Acc,NULL,SendAcceptChallenge,(void *)TableID);
因为局部变量会在作用域结束的时候被清除内存,如果这样传入线程内部,无法预料是否会在作用域结束之后,线程还会不会调用这个变量,当然 如果非要这样调用的话,建议是在线程内部这样写,把内存复制一份
tagTableID _TableID = *TableID;
0 0
- cocos2dx2.x版本的pthread的一些注意事项
- Cocos2d-x游戏开发的一些注意事项
- Python 3.x 的一些注意事项
- cocos2dx2.x批量移除CCNode的方法
- pthread 静态编译版本在Windows下使用时的注意事项
- 苹果Mac OS X下配置Cocos2d-x for Android(Eclipse)和IOS(Xcode)开发【内有cocos2dx2.0.3版本的配置】
- 【Cocos2d-x】pthread库的使用
- 【Cocos2d-x】pthread库的使用
- Mysql的一些数据类型及注意事项 以及版本的区别
- 总结Cocos2d-x 3.x版本的一些变化
- 总结Cocos2d-x 3.x版本的一些变化
- 总结Cocos2d-x 3.x版本的一些变化
- 总结Cocos2d-x 3.x版本的一些变化
- 记cocos2dx 3.2版本打包的一些注意事项
- Linux下pthread开发的一些问题
- pthread mutex使用的一些思考
- pthread一些函数的总结使用
- SetWindowPos(...) 的一些注意事项。
- LCA(2009多校联合)hdu2874
- MyEclipse8.5注册码
- poj 2406 Power Strings(数据结构:KMP||暴力)
- plymouth
- sd卡文件系统
- cocos2dx2.x版本的pthread的一些注意事项
- Java线程池
- hdu-1262-寻找素数对
- 库函数atoi()的实现
- linux下终端使用有道翻译
- Java OCR 图像智能字符识别技术,可识别中文
- 一位拿到百度Offrer的过来人
- Cocos2d-x 3.1 一步步做屏幕适配
- linux的同步,异步,阻塞,非阻塞