单独起了一个线程来处理网络相关操作,比较常规的做法。本身没啥特别的东西,碰到了一个不大不小的坑折腾了好久,记录下来吧。

简单的说就是子线程中抛出的异常,如果没有catch的话,会导致子线程悄无声息的退出,而u3d主线程没有任何反馈,

只有等到业务逻辑出错的时候才发现哪里出毛病了。

解决方法就是可能抛异常的地方都给catch掉,但是代码很难看,或者直接子线程的主循环里面catch一下,然后输出日志。

但是这样也仅仅只是帮助查看分析出错而已,最终还是需要解决掉的,又牵扯到了另一个问题。

主线程中做这些,

void foo()

{

// send msg to server

// balabala1,同时子线程已经再工作了,那么主线程再这里就有可能收到服务器的反馈

// add server msg handler

// balabala2 , 但是msg handler这里才添加,那么就会导致子线程调用msg handler的时候抛异常或者出错。。。所以mg handler需要提前添加

}

unity3d多线程坑的更多相关文章

  1. WindowsPhone&Windows8.1&Windows8&Unity3d 填坑日记

    近期的游戏开发大体上接近尾声,总结了不少关于Unity3d面向Windows几大平台开发时遇到的各种坑以及怎样填坑的经验.总的来说,Windows8.1 Windows8/RT以及WindowsPho ...

  2. Unity3d多线程

    http://blog.csdn.net/dingkun520wy/article/details/49181645 (一)多线程的创建 Thread t = new Thread(new Threa ...

  3. Unity3D的坑系列:动态加载dll

    我现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Android平台是可以动态加载dll的,有了这个就可以实现代码 ...

  4. Unity3D的坑系列:你真想发布WinPhone版吗?

    Unity 4.2加入了支持WinPhone发布,本来是一件令人开心的事情,不过最近听了Unity技术支持的一个事情后就发现,原来发布WinPhone版也是一个坑. 实际上如果你用Unity做小游戏发 ...

  5. xcode9 unity3d 新坑

    1.metal调试会报错,要在edit scheme里关掉

  6. Unity3D的坑系列:打包Assetbundle丢失Shader问题(贴图显示不了)

    从Unity4.2开始,为了减少首包大小,不会默认将所有Shader引擎加到游戏程序中,据Unity技术支持人员所说,Unity会将Shader引擎打包到Assetbundle资源中,但是我测试发现不 ...

  7. (转)Unity3d各种坑

    1.unity的资源包一旦量很大的时候卸载不干净,你可以尝试反复切场景 ,内存诡异的 增加 一直到爆,assetsbundle.unload(true);有问题 你想要卸载你必须先让你加载过的资源为n ...

  8. Unity3D知识点

    世界空间(World):整个虚拟世界的3d空间,在Unity3d中以米作为单位,如长100米宽100米高100米的立体空间. 屏幕空间(Screen):屏幕2d空间,大小就是屏幕的大小,以像素作为单位 ...

  9. 关于Unity3D手机网游开发一些小看法

    它的知识技能和职责,我就不仔细说了,说细了有一点像招聘启示.他的主要职责虽然负责技术,但是也给产品决策和方向提供一些决策.他最主要的考核指标,就是经验很重要,最好主导或参与过一款网络游戏的开发.举个例 ...

随机推荐

  1. PO、VO、BO、DTO、POJO、DAO

    J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...

  2. nginx配置文件httpd.conf详解

     PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这 ...

  3. 推送 iOS 10

    1:APNs通知与应用内消息对比 极光文档上面是这么写的 后来更直接的说法是: 2:下面是介绍app不同状态下面接受到通知调用的方法: // iOS 10 Support,这个是程序在前台接受到通知是 ...

  4. export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH

    如题,临时修改程序运行时动态库的搜索路径,平时经常会用到,记录之!

  5. 第六章 springboot + 事务(转载)

    本篇博客转发自:http://www.cnblogs.com/java-zhao/p/5350106.html 在实际开发中,其实很少会用到事务,一般情况下事务用的比较多的是在金钱计算方面. myba ...

  6. simplexml_load_string 解析xml

    <?php //simplexml_load_string 解析两种类型的xml $res='<?xml version="1.0" encoding="UT ...

  7. Linux启动与登陆环境

    linux启动流程 参考:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html 加载内核,首先读入/boot 目录下的内核文件. ...

  8. 一些PHP性能的优化

      PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置. # vi /etc/php.ini ( ...

  9. SQL Server 集合处理

    UNION ALL 返回两个结果集中所有的行,返回结果集中会存在重复行 UNION 返回两个结果集中去重的行,返回结果集中无重复行 INTERSECT 返回两个结果集都有的行,返回结果集中无重复行 E ...

  10. 解决织梦channel标签 指定typeid或设置son时 currentstyle无效的修复办法

    {dede:channel type='son' row='8' currentstyle="<li><ahref='~typelink~' class='thisclas ...