首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Symbian >

,Symbian多线程,为什么崩溃了

2012-02-13 
求助,Symbian多线程,为什么崩溃了C/C++ codeTInt threadFunction(TAny *aPtr){// points to iParameterTIn

求助,Symbian多线程,为什么崩溃了

C/C++ code
TInt threadFunction(TAny *aPtr){    // points to iParameter    TInt *i = (TInt *)aPtr;    TBuf<32> buf;        while (true)    {        console->Write(_L("thread1 running"));        User::After(1000);    }}LOCAL_C void MainL(){    RThread thread;    TInt i = 1;    {        thread.Create(_L("thread 1"), threadFunction,                 4096, KMinHeapSize, 256 * KMinHeapSize, &i);        thread.Resume();    }        while (true)    {        console->Write(_L("main thread running\n"));        User::After(1000);    }}


程序运行起来后,报错:KERN-EXEC 0。
如果我把console->Write(_L("thread1 running"));注释掉之后,就没问题了。
为什么这样用会报错呢?



[解决办法]
RCriticalSection iLock;

iLock.CreateLocal();//初始化锁

每次调用到console的地方加上
iLock.Wait();//锁定这个对象
//console->Dosomething;
iLock.Signal();//释放

热点排行