Symbian 创建线程

来源:互联网 发布:iphone微信数据慢 编辑:程序博客网 时间:2024/05/22 08:21

声明
RThread  iThread;
TBool StartThread(void); 
static TInt  ThreadRun(TAny *aPtr);
实现
StartThread(void)
{
    TInt re = EFalse;
     iThread.Close();       
     _LIT(ThreadName, "Thread");  
    TInt err = iThread.Create(ThreadName , ThreadRun, 10240, KMinHeapSize, 4096*KMinHeapSize, this , EOwnerProcess );   
    if(err == KErrNone)
    {
        iThread.Resume();       
        re = ETrue;
    }
    return re;
}

ThreadRun(TAny *aPtr)
{
    CParenApp*  myparent = static_cast<CParenApp*>(aPtr);
    CTrapCleanup* cleanup = CTrapCleanup::New();   
    TRAPD(err,myparent->DoSomething());
    if(err != KErrNone)
   {
   }
    delete cleanup;
    return KErrNone;
}
释放
//iThread.Kill(KErrNone); 
iThread.Close();
1、线程中如果不使用清理栈可以不创建。
2、如果线程不是无限久,可以在最后加一个循环,这样可以调用iThread.Kill(KErrNone)结束。
3、线程当中能使用静态变量与法,其他可以通过传入指针间接使用。

原创粉丝点击