WEB开发网
开发学院手机开发Symbian 开发 Symbian操作系统中的线程和进程 阅读

Symbian操作系统中的线程和进程

 2010-07-04 15:55:00 来源:WEB开发网   
核心提示:View Public ProfileSend email to zaohuzi888Find all posts by zaohuzi888Add zaohuzi888 to Your Buddy List#4 2005-04-29, 09:36hooleeRegistered User Join Date: Mar

View Public Profile

Send email to zaohuzi888

Find all posts by zaohuzi888

Add zaohuzi888 to Your Buddy List

#4 2005-04-29, 09:36

hoolee

Registered User Join Date: Mar 2005

Posts: 1,037

6、其他线程函数

TInt Rename(const TDesC& aName)

为线程定义个新名字。

void RequestComplete(TRequestStatus*& aStatus, TInt aReason)

通知线程与一个异步请求绑定的请求状态对象aStatus已具完成。sStatus完成代码将负责设置aReason及发出线程请求信号的通知。

TInt RequestCount()

返回线程请求信号的数目。如果是负值则表示该线程正在等待至少一个异常请求的完成。

void HandleCount(TInt& aProcessHandleCount, TInt& aThreadHandleCount)

得到线程中及拥有该线程的进程中处理模块的数目。

RHeap* Heap()

返回一个指向改线程堆的指针。

TInt GetRamSizes(TInt& aHeapSize, TInt& aStackSize)

得到该线程中堆和栈的大小。

TInt GetCpuTime(TTimeIntervalMicroSeconds& aCpuTime)

得到改线程所分配到的CPU时间

void Context(TDes8& aDes)

得到该线程( sleeping状态)所注册的上下文环境。

4、线程内部的通信

1)共享内存

在线程间交换信息最直接的方法就是使用共享内存。线程入口函数中有一个参数TAny* aPtr,这个指针可以用于任何目的。通常可以用它来传递一个负责线程间共享信息的数据结构或类实例。因为同一进程中的线程是共享内存地址空间的,因此这里指针所指向的数据可以被两个线程所共享,注意访问该数据时必须是同步形式。

另外这里的指针参数可以使用SetInitialParameter(TAny* aPtr)方法来改变,但这时线程应处于suspend状态。

2)Client/Server API

Symbian操作系统提供了一组基于server/session的API,允许一个线程扮演server的角色,向其他线程或进程提供服务。这里API也提供处理一组方法处理信息的传递,异步以数据传输。

3)进程内数据传输

如果两个线程分属不同的进程,则他们无法直接管理需要通信的数据,因为他们没有共享的数据区。这里可以使用RThread提供的ReadL()方法及

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Symbian 操作系统 线程

编辑录入:coldstar [复制链接] [打 印]
赞助商链接