unity3d多线程坑
单独起了一个线程来处理网络相关操作,比较常规的做法。本身没啥特别的东西,碰到了一个不大不小的坑折腾了好久,记录下来吧。
简单的说就是子线程中抛出的异常,如果没有catch的话,会导致子线程悄无声息的退出,而u3d主线程没有任何反馈,
只有等到业务逻辑出错的时候才发现哪里出毛病了。
解决方法就是可能抛异常的地方都给catch掉,但是代码很难看,或者直接子线程的主循环里面catch一下,然后输出日志。
但是这样也仅仅只是帮助查看分析出错而已,最终还是需要解决掉的,又牵扯到了另一个问题。
主线程中做这些,
void foo()
{
// send msg to server
// balabala1,同时子线程已经再工作了,那么主线程再这里就有可能收到服务器的反馈
// add server msg handler
// balabala2 , 但是msg handler这里才添加,那么就会导致子线程调用msg handler的时候抛异常或者出错。。。所以mg handler需要提前添加
}
unity3d多线程坑的更多相关文章
- WindowsPhone&Windows8.1&Windows8&Unity3d 填坑日记
近期的游戏开发大体上接近尾声,总结了不少关于Unity3d面向Windows几大平台开发时遇到的各种坑以及怎样填坑的经验.总的来说,Windows8.1 Windows8/RT以及WindowsPho ...
- Unity3d多线程
http://blog.csdn.net/dingkun520wy/article/details/49181645 (一)多线程的创建 Thread t = new Thread(new Threa ...
- Unity3D的坑系列:动态加载dll
我现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Android平台是可以动态加载dll的,有了这个就可以实现代码 ...
- Unity3D的坑系列:你真想发布WinPhone版吗?
Unity 4.2加入了支持WinPhone发布,本来是一件令人开心的事情,不过最近听了Unity技术支持的一个事情后就发现,原来发布WinPhone版也是一个坑. 实际上如果你用Unity做小游戏发 ...
- xcode9 unity3d 新坑
1.metal调试会报错,要在edit scheme里关掉
- Unity3D的坑系列:打包Assetbundle丢失Shader问题(贴图显示不了)
从Unity4.2开始,为了减少首包大小,不会默认将所有Shader引擎加到游戏程序中,据Unity技术支持人员所说,Unity会将Shader引擎打包到Assetbundle资源中,但是我测试发现不 ...
- (转)Unity3d各种坑
1.unity的资源包一旦量很大的时候卸载不干净,你可以尝试反复切场景 ,内存诡异的 增加 一直到爆,assetsbundle.unload(true);有问题 你想要卸载你必须先让你加载过的资源为n ...
- Unity3D知识点
世界空间(World):整个虚拟世界的3d空间,在Unity3d中以米作为单位,如长100米宽100米高100米的立体空间. 屏幕空间(Screen):屏幕2d空间,大小就是屏幕的大小,以像素作为单位 ...
- 关于Unity3D手机网游开发一些小看法
它的知识技能和职责,我就不仔细说了,说细了有一点像招聘启示.他的主要职责虽然负责技术,但是也给产品决策和方向提供一些决策.他最主要的考核指标,就是经验很重要,最好主导或参与过一款网络游戏的开发.举个例 ...
随机推荐
- PO、VO、BO、DTO、POJO、DAO
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...
- nginx配置文件httpd.conf详解
PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这 ...
- 推送 iOS 10
1:APNs通知与应用内消息对比 极光文档上面是这么写的 后来更直接的说法是: 2:下面是介绍app不同状态下面接受到通知调用的方法: // iOS 10 Support,这个是程序在前台接受到通知是 ...
- export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
如题,临时修改程序运行时动态库的搜索路径,平时经常会用到,记录之!
- 第六章 springboot + 事务(转载)
本篇博客转发自:http://www.cnblogs.com/java-zhao/p/5350106.html 在实际开发中,其实很少会用到事务,一般情况下事务用的比较多的是在金钱计算方面. myba ...
- simplexml_load_string 解析xml
<?php //simplexml_load_string 解析两种类型的xml $res='<?xml version="1.0" encoding="UT ...
- Linux启动与登陆环境
linux启动流程 参考:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html 加载内核,首先读入/boot 目录下的内核文件. ...
- 一些PHP性能的优化
PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置. # vi /etc/php.ini ( ...
- SQL Server 集合处理
UNION ALL 返回两个结果集中所有的行,返回结果集中会存在重复行 UNION 返回两个结果集中去重的行,返回结果集中无重复行 INTERSECT 返回两个结果集都有的行,返回结果集中无重复行 E ...
- 解决织梦channel标签 指定typeid或设置son时 currentstyle无效的修复办法
{dede:channel type='son' row='8' currentstyle="<li><ahref='~typelink~' class='thisclas ...