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

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

 2010-03-18 20:57:00 来源:WEB开发网   
核心提示:EPriorityRealTime定义了除核心服务线程优先级外最高的总体优先级,RThread中的Priority()方法返回了一个线程的优先级(按以上描述值),Symbian 操作系统中的线程和进程(4),我们也可以通过SetPriority(TThreadPrioriy aPriority)方法来修改优先级,Pro

EPriorityRealTime定义了除核心服务线程优先级外最高的总体优先级。

RThread中的Priority()方法返回了一个线程的优先级(按以上描述值)。我们也可以通过SetPriority(TThreadPrioriy aPriority)方法来修改优先级。

ProcessPriority() 方法返回了拥有该线程之进程的优先级(按TProcessPriority描述值)。我们也可以通过 SetProcessPriority(TProcessPriority)方法来修改该进程的优先级。

5、异常处理

每个线程都有自己的异常处理模块。当线程发生异常时会调用异常处理模块。异常处理模块的赃型为:

typedef void TExceptionHandler(TExcType);

RThread包含了下列异常处理相关的方法:

TExceptionHandler* ExceptionHandler()

返回该线程当前异常处理模块的地址。

TInt SetExceptionHandler(TExceptionHandler* aHandler, TUint32 aMask);

定义了该线程新的异常处理模块的地址,以及它所处理异常的类别。

void ModifyExceptionMask(TUint32 aClearMask, TUint32 aSetMask)

修改异常处理模块所定之异常类别,aClearMask参数定义了不再为异常处理模块所处理的类别,而aSetMask则定义了新的处理类别。

TInt RaiseException(TExcType aType);

引发线程上指定类型的异常,这时异常处理模块将被启动执行(发生在调用之后)。

TBool IsExceptionHandled(TExcType aType);

检查线程的异常处理模块是否捕捉到aType类型的异常。

(1)异常类别及类型

异常类型是一组针对单个异常的类型识别,主要用在异常发生时。

异常类别则代表一组异常形式。

异常类别的一个集是由一个或多个异常类别通过OR形式组合成的,如KExceptionInteger|KExceptionDebug,这些值用来设置及修改异常处理模块所处理的类别。

下面列示了所有的类型及类别。

异常类别 异常类型

KExceptionInterrupt ->EExcGeneral, EExcUserInterrupt

KExceptionInteger ->EExcIntegerDivideByZero, EExcIntegerOverflow

KExceptionDebug->EExcSingleStep, EExcBreakPoint

KExceptionFault ->EExcBoundsCheck, EExcInvalidOpCode, EExcDoubleFault, EExcStackFault, EExcAccessViolation, EExcPrivInstruction, EExcAlignment,

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

Tags:Symbian 操作系统 线程

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