`
amyer
  • 浏览: 40262 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

转:Symbian进程间共享

阅读更多
在一个线程开一个全局的服务,另外一个可以通过全名字,或者部分名字查找这个服务,然后取得这个全局服务的内存地址,得到内存中的数据。

      在symbian上有RChunk,RTread等类,但是在3rd fp1上取消了RTread的Read和Write方法,所以只能用RChunk类了,调用方法如下:

       一个线程启动服务:

       _LIT(KChunkName,"xn Globla Chunk");
       TInt rc=iChk.CreateGlobal(KChunkName,0x1000,0x5000); 

       //取得共享内存地址

       TUint8* uid=iChk.Base();
       HBufC* buf=HBufC8::NewL(255);
       buf->Des().Copy(_L8("123456"));
      
       //uid=&(iHbuf->Des()[0]);
       //将数据放入到共享内存中

       TPtrC8 ptr;
       Mem::Copy(uid,(TAny *)buf->Des().Ptr(),buf->Length());
       //服务线程ok

      另外线程:

      _LIT(KChunkName,"xn Globla Chunk");
      RChunk chk;
      chk.OpenGlobal(KChunkName,0);//第一个参数指定了全局内存块的名称,第二个参数用于说明块是为只读(1)还是可写的(0)
      TUint8* uid=chk.Base();
      TPtrC8 ptr;
     //Mem::Copy(uid,(TAny *)iHbuf->Des().Ptr(),iHbuf->Length());
     ptr.Set( (const TUint8*)uid , chk.Szie());

     //ok 共享内存中的数据取到了,当然也可以修改。
分享到:
评论

相关推荐

    symbian进程间内存共享

    本文主要探讨的是Symbian平台上的进程间内存共享机制,这是IPC的一种实现方式。 首先,理解进程间内存共享的基本概念是至关重要的。这种技术允许两个或多个进程访问同一块内存区域,从而实现数据的高效传递。在...

    控制台守护进程 Symbian

    5. **线程间通信**:Symbian提供了多种方式实现线程间的通信,如通过消息队列、共享内存或线程同步对象。在设计时,需要考虑通信效率和资源占用,选择最适合的方法。 6. **错误处理和调试**:由于守护进程是在后台...

    The Symbian OS Architecture Sourcebook

    5. 进程通信:Symbian OS的进程间通信(IPC)机制基于消息传递,包括信号量、共享内存和管道等,这些机制使得不同进程之间可以安全地交换数据。 6. 设备驱动程序:书中还详细介绍了如何编写和管理设备驱动,这是...

    操作原理要点归纳

    - 资源共享性:硬件和软件资源可在不同程序间共享。 8. **程序的并发执行与并行执行**: - **并发执行**:一组逻辑上独立的程序在执行过程中时间上相互重叠。 - **并行执行**:一组程序在时间上独立执行,但不...

    symbian 学习笔记

    1. **线程与进程管理**:Symbian支持多线程和多进程模型,每个应用程序可以包含多个线程,线程间通信通过消息队列或共享内存实现。 2. **内存管理**:Symbian采用自动垃圾回收机制,但开发者仍需谨慎处理内存分配和...

    Symbian实践培训讲义

    - **线程与进程**:线程是执行的基本单位,共享同一进程的内存空间;进程则是内存保护的单元,每个进程拥有独立的地址空间。 - **抢先式多任务**:线程根据优先级进行调度,高优先级的线程可以中断低优先级线程的...

    Symbian OS:线程编程

    #### 二、Symbian OS中的线程与进程 在Symbian OS中,**进程**是一组相关的线程集合,而**线程**则是执行的基本单位。一个进程至少包含一个主线程,这个主线程在进程启动时自动创建。每个线程都有自己的执行时间,...

    symbian多线程程序

    在Symbian中,线程是执行上下文的基本单元,它们共享同一进程的地址空间。线程可以并行执行,提高系统效率,特别是对于需要同时进行多项工作的应用程序。Symbian OS 提供了CThread类作为线程的基础,你可以通过继承...

    symbian平台http多线程下载

    线程间需要通信以报告进度、错误和完成状态,可能需要使用消息队列或者共享内存等方法。 6. **内存管理**: Symbian系统对内存管理有特殊要求,开发者需要特别注意内存分配和释放。在多线程环境中,防止内存泄漏和...

    symbian线程

    它们用于控制线程间的访问顺序,避免竞态条件,以及实现线程间的数据传递。 2. **线程优先级**:Symbian系统允许设置线程优先级,通过SetPriority()函数调整线程的执行优先级,但过度使用可能导致系统调度问题,应...

    Symbian线程编程

    在Symbian操作系统中,每个进程至少包含一个线程,即所谓的“主线程”,它在进程启动时自动创建。线程是Symbian OS中执行的基本单位,而进程则负责管理线程的生命周期及资源分配。 - **线程执行机制**:Symbian OS...

    gmem of symbian

    其中,"GMEM"是Symbian系统内核中的一种核心内存管理机制,专门用于处理进程间的共享内存需求。本文将深入探讨GMEM的工作原理、功能以及在Symbian系统中的应用。 GMEM,全称为Global Memory,字面意思为全局内存,...

    移动终端操作系统架构概览解剖.docx

    - **匿名共享内存(Ashmem)**:为进程间提供共享内存资源。 - **Binder机制**:用于轻量级的进程间通信。 - **其他驱动模块**:包括电源管理、日志、定时器、PMEM、Yaffs2文件系统等。 #### 四、总结 通过本文...

    SymBian 多线程的例子

    线程是程序的执行流,一个进程可以包含多个线程,它们共享同一内存空间,可以并发执行不同的任务。在SymBian系统中,由于其微内核架构,多线程是实现高效并行处理的有效手段。 创建SymBian线程通常涉及以下几个步骤...

    symbian 线程编程代码

    Symbian提供了一些同步原语,如CSyncEvent、CMutex、CRITICAL_SECTION等,用于控制对共享资源的访问。同时,可以使用Mbx消息队列进行线程间的通信。 四、线程优先级 Symbian系统提供了8个线程优先级级别,从TInt ...

    symbian 0s之活动对象

    同时,它们可以方便地共享内存和对象,如同进程中线程间的通信一样。 总结来说,Symbian OS 的活动对象机制是其多任务处理的核心,它通过轻量级的活动对象和异步调用来优化系统性能,降低了程序员的负担,提高了...

    Android课后习题答案整理.pdf

    Android 提供轻量级的进程间通讯机制 Intent,使用跨进程组件通信和发送系统级广播成为可能。Android 还提供了 Service 作为无用户界面、长时间后台运行的组件,可为应用程序提供特定的后台功能,还可以实现事件处理...

    面试题 目 精心选择

    - **AIDL**:Android Interface Definition Language,用于描述进程间交互的接口,使得不同进程之间可以调用彼此的服务。 #### 八、Android设备优缺点分析 - **优点**:开放性高、定制性强、硬件选择多样。 - **...

    Android面试题集锦

    - **Binder**:进程间通信的一种方式,用于实现跨进程的数据和服务共享。 - **AIDL**:Android Interface Definition Language,用于定义跨进程服务接口。 #### 七、Android设备认知 - 面试者需对其使用的Android...

Global site tag (gtag.js) - Google Analytics