Symbian中不能跨越线程(RThread)使用的对象/组件(RSocket/Memery Heap,etc)
生活随笔
收集整理的這篇文章主要介紹了
Symbian中不能跨越线程(RThread)使用的对象/组件(RSocket/Memery Heap,etc)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Symbian C++的編程中,出現一很多與Windows/linux用法與概念不同的東西。
首先,在Symbian中不建議多線程,因為線程的開銷,也因為線程之間有很多東西不能傳遞與共享(雖然同一進程中不同線程也是在同一個地址空間中),因而常用Active 對象來替代,常遇到的問題組件根據自己的經驗總結如下:
一,RSocket:
?? 在一個線程中創建的RSocket對象,是不能被傳到別一個線程中使用的。如果要使用,要在RSockServer的對象上做手腳。RSockServer server; server.connect();
server.ShareAuto(); RSocket socket; socket.Opne(server........);
但不幸的是,舊的Symbian版本不支持server.ShareAuto();
應該說Symbian是一個不穩定的操作系統,還處在成熟期。至少對于程序員的編程角度來說。
二。內存管理:
? 在一個線程中分配的堆內存。在另一個線程中是不能delete/free的。
轉載于:https://www.cnblogs.com/windwithlife/archive/2007/10/25/937640.html
總結
以上是生活随笔為你收集整理的Symbian中不能跨越线程(RThread)使用的对象/组件(RSocket/Memery Heap,etc)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人人开源项目搭建到服务器,人人开源系列项
- 下一篇: 基于JDBC的宠物管理系统