在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的。