多线程编程中关于回调的雷区

      这段时间在Windows mobile上进行编程过程中进行了一些多线程的实践操作,由于在线程之间通讯比较多利用了的函数回调,出现了一些问题。

      

      1、认识误区

            以前总以为同一对象的方法应该在同一线程中,现在发现情况并不是这样。如果该对象实现了另外一个线程中的回调函数时,回调函数中调用的所有函数和正常调用该对象的函数是在不同的线程中。也就是说,函数是在那个线程中运行,和对象是没有关系的。

     

      2、在不同线程中new出来的同一类型的不同对象是在不同线程的。

  

      3、同一对象中所包含的指针有可能指向不同线程的内存,所以在内存管理时需要注意。

 

       4、在同一线程新建的对象应该在该线程中删除,不应该由另外一个线程删除。因为在删除不同线程的内存时,有可能被删除内存所在的线程已经被删除了,这时内存也相应的被删除了。

 

       5、在访问不同线程的内存时需要保证该内存没有被删除(包含访问内存所在的线程没有被删除)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值