Symbian中不能跨越线程(RThread)使用的对象/组件(RSocket/Memery Heap,etc)
在Symbian C++的編程中,出現(xiàn)一很多與Windows/linux用法與概念不同的東西。
首先,在Symbian中不建議多線程,因?yàn)榫€程的開銷,也因?yàn)榫€程之間有很多東西不能傳遞與共享(雖然同一進(jìn)程中不同線程也是在同一個(gè)地址空間中),因而常用Active 對(duì)象來替代,常遇到的問題組件根據(jù)自己的經(jīng)驗(yàn)總結(jié)如下:
一,RSocket:
?? 在一個(gè)線程中創(chuàng)建的RSocket對(duì)象,是不能被傳到別一個(gè)線程中使用的。如果要使用,要在RSockServer的對(duì)象上做手腳。RSockServer server; server.connect();
server.ShareAuto(); RSocket socket; socket.Opne(server........);
但不幸的是,舊的Symbian版本不支持server.ShareAuto();
應(yīng)該說Symbian是一個(gè)不穩(wěn)定的操作系統(tǒng),還處在成熟期。至少對(duì)于程序員的編程角度來說。
二。內(nèi)存管理:
? 在一個(gè)線程中分配的堆內(nèi)存。在另一個(gè)線程中是不能delete/free的。
轉(zhuǎn)載于:https://www.cnblogs.com/windwithlife/archive/2007/10/25/937640.html
總結(jié)
以上是生活随笔為你收集整理的Symbian中不能跨越线程(RThread)使用的对象/组件(RSocket/Memery Heap,etc)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人人开源项目搭建到服务器,人人开源系列项
- 下一篇: 《码出高效》