Symbian作業系統結構之四 執行緒

2021-04-30 19:02:22 字數 1271 閱讀 9342

*執行緒

- 執行緒是多工的基礎,允許多個**序列同時執行

- 在symbian作業系統中,可以同時建立多個執行緒,但是會帶來管理複雜和巨大的系統開銷

- 在symbian作業系統中,操作執行緒的類是rthread,其物件表示乙個執行緒的控制代碼

- rthread的基類是rhandlebase,它封閉了通用控制代碼的行為,用於表示symbian作業系統中物件的控制代碼

*建立和啟動執行緒

tint create(const tdesc& aname, threadfunction afunction, tint astacksize, rheap* aheap, tany* aptr, townertype atype = eownerprocess)

tint threadfunc(tany*)

return 0;

}void startthreadl()

*開啟已經存在的執行緒

rthread thd;

tint rc = thd.open(_l("mythread"));

if (rc != kerrnone)

if (thd.exittype() == eexitpending)//如果程序已經存在並且還在執行

thd.suspend();//掛起程序,既等待程序執行完畢

……thd.resume(); //繼續執行緒執行

*執行緒的優先順序(均是相對所在程序的優先順序而言)

- eprioritynull(-30)

- eprioritymuchless(-20)

- epriorityless(-10)

- eprioritynormal(0)

- eprioritymore(+10)

- eprioritymuchmore(+20)

- epriorityrealtime(+30)

*終止執行緒

- 可以使用rthread::kill(tint areason)來終止執行緒

- rthread提供exittype()和exitreason()來返回執行緒終止的原因

- exittype()返回值包括

·eexitkill: 執行緒函式返回或顯示呼叫kill()函式

·eexutpanic:執行緒因為嚴重錯誤而結束

·eexitpending:執行緒仍在執行

- exitreason()返回值包括

·返回**:執行緒函式正常返回

·終結**:執行緒呼叫kill()函式

·錯誤**:執行緒因為嚴重錯誤而退出

·零:執行緒仍在執行

作業系統 二 作業系統結構

好好學習,天天向上本文已收錄至我的github倉庫daydayup 使用者介面 程式執行 i o 操作 檔案系統操作 通訊 錯誤檢測 增值服務 資源分配 統計 保護和安全 作業系統服務 作業系統程式介面 系統呼叫 作業系統使用者介面 系統程式 既然作業系統有這麼多的服務,那麼我們平時是怎麼去使用作業...

作業系統結構

作業系統結構 2010年10月20日 作業系統結構 作業系統與使用者介面 系統呼叫 作業系統結構 作業系統特徵 3.0使用者與作業系統的介面 1.命令介面 聯機介面 互動式 使用系統提供的操作命令,互動地控制程式執行和管理計算機系統.如系統管理,環境設定,許可權管理,檔案管理等 脫機介面 以作業說明...

作業系統之作業系統引論

掌握作業系統的概念 特徵 功能和提供的服務,作業系統的發展與分類 作業系統是計算機硬體與使用者的橋梁,是計算機硬體上的的第一層軟體,是對硬體系統的首次擴充.作業系統是一組控制和管理計算機硬體和軟體資源.合理地對各類作業 job 進行排程,以及方便使用者的程式的集合.無作業系統 單批道作業系統 多批道...