mFrame
載入中...
搜尋中...
無符合項目
cmsisrtx5::CmsisRTX5Thread 類別 參考文件

CMSIS RTX5 執行緒控制器 更多...

#include <CmsisRTX5Thread.h>

類別cmsisrtx5::CmsisRTX5Thread的繼承圖:
ufm::sys::Thread ufm::lang::Object ufm::lang::Interface

公開方法(Public Methods)

 CmsisRTX5Thread (ufm::func::Runnable &task, uint32 stackSize)
 建構執行緒物件
 
 CmsisRTX5Thread (ufm::func::Runnable &task, const ufm::lang::Data &stackMemory)
 建構執行緒物件
 
virtual ~CmsisRTX5Thread (void) override
 解構執行緒物件
 
virtual const char * getThreadName (void) const override
 取得執行緒名稱
 
virtual ufm::sys::ThreadPriority getPriority (void) const override
 取得執行緒優先權
 
virtual ufm::sys::ThreadState getState (void) const override
 取得執行緒狀態
 
virtual int getStackSize (void) const override
 取得執行緒堆疊大小
 
virtual bool start (const char *name, ufm::sys::ThreadPriority priority) override
 以指定名稱和優先權啟動執行緒
 
virtual void notify (void) override
 通知執行緒,喚醒等待中的執行緒
 
virtual bool setPriority (ufm::sys::ThreadPriority priority) override
 設定執行緒優先權
 
- 公開方法(Public Methods) 繼承自 ufm::sys::Thread
 Thread (void)
 建構執行緒物件
 
virtual ~Thread (void) override
 解構執行緒物件
 
bool start (const char *name)
 以預設優先權啟動執行緒
 
bool isActive (void)
 檢查執行緒是否處於活動狀態
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Object
void * operator new (size_t n)
 使用運算子 new 分配記憶體
 
void * operator new (size_t n, void *p)
 在指定記憶體上調用運算子 new
 
virtual ufm::lang::ObjectgetObject (void) override
 取得對應的 Object 物件
 
void delay (int milliseconds) const
 延遲指定的毫秒數進行執行緒等待
 
bool equals (Object *object) const
 判斷與另一物件是否為相同參照(指標型態比較)
 
bool equals (Object &object) const
 判斷與另一物件是否為相同參照(參照型態比較)
 
void wait (void) const
 使當前線程等待直到被通知
 
bool wait (int timeout) const
 等待通知或超時
 
bool yield (void) const
 讓執行緒讓渡控制權給同優先權的下一個執行緒
 
int lock (void) const
 核心鎖定,鎖定期間禁止線程切換
 
int unlock (void) const
 核心解鎖
 
ufm::sys::ThreadcurrentThread (void) const
 取得當前執行緒指標
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 

靜態公開方法(Static Public Methods)

static CmsisRTX5Threadconstruct (ufm::func::Runnable &task, void *stackMemory, uint32 stackSize)
 建立新的執行緒物件
 

詳細描述

CMSIS RTX5 執行緒控制器

1.0.0

建構子與解構子說明文件

◆ CmsisRTX5Thread() [1/2]

cmsisrtx5::CmsisRTX5Thread::CmsisRTX5Thread ( ufm::func::Runnable & task,
uint32 stackSize )

建構執行緒物件

參數
task執行任務
stackSize堆疊大小

◆ CmsisRTX5Thread() [2/2]

cmsisrtx5::CmsisRTX5Thread::CmsisRTX5Thread ( ufm::func::Runnable & task,
const ufm::lang::Data & stackMemory )

建構執行緒物件

參數
task執行任務
stackMemory堆疊記憶體

函式成員說明文件

◆ construct()

static CmsisRTX5Thread * cmsisrtx5::CmsisRTX5Thread::construct ( ufm::func::Runnable & task,
void * stackMemory,
uint32 stackSize )
static

建立新的執行緒物件

參數
task執行緒任務
stackMemory堆疊記憶體指標
stackSize堆疊大小
傳回值
ufm::sys::Thread* 新建立的執行緒物件指標

◆ getPriority()

virtual ufm::sys::ThreadPriority cmsisrtx5::CmsisRTX5Thread::getPriority ( void ) const
overridevirtual

取得執行緒優先權

獲取此執行緒的當前優先權等級,影響調度器對此執行緒的處理優先性。

傳回值
ufm::sys::ThreadPriority 執行緒當前的優先權等級

實作 ufm::sys::Thread.

◆ getStackSize()

virtual int cmsisrtx5::CmsisRTX5Thread::getStackSize ( void ) const
overridevirtual

取得執行緒堆疊大小

獲取分配給此執行緒的堆疊記憶體大小。堆疊用於儲存區域變數、 函數調用信息以及執行緒上下文資料。

傳回值
int 執行緒堆疊的大小(位元組)

實作 ufm::sys::Thread.

◆ getState()

virtual ufm::sys::ThreadState cmsisrtx5::CmsisRTX5Thread::getState ( void ) const
overridevirtual

取得執行緒狀態

獲取此執行緒的當前運行狀態,如READY、RUNNING、BLOCKED等。

傳回值
ufm::sys::ThreadState 執行緒當前的運行狀態
參閱
ufm::sys::ThreadState 了解可能的狀態值

實作 ufm::sys::Thread.

◆ getThreadName()

virtual const char * cmsisrtx5::CmsisRTX5Thread::getThreadName ( void ) const
overridevirtual

取得執行緒名稱

獲取此執行緒的識別名稱,用於偵錯和日誌記錄。

傳回值
const char* 執行緒名稱字串,不為null

實作 ufm::sys::Thread.

◆ notify()

virtual void cmsisrtx5::CmsisRTX5Thread::notify ( void )
overridevirtual

通知執行緒,喚醒等待中的執行緒

將執行緒從等待狀態喚醒,使其可以繼續執行。 若執行緒未處於等待狀態,則此操作無效。

此方法通常由其他執行緒調用,實現執行緒間的同步

實作 ufm::sys::Thread.

◆ setPriority()

virtual bool cmsisrtx5::CmsisRTX5Thread::setPriority ( ufm::sys::ThreadPriority priority)
overridevirtual

設定執行緒優先權

動態調整執行緒的優先權等級,影響其在調度時的優先次序。 優先權越高,越容易獲得處理器時間。

參數
priority要設定的新優先權
傳回值
true 優先權設定成功
false 優先權設定失敗,可能權限不足或執行緒狀態不允許

實作 ufm::sys::Thread.

◆ start()

virtual bool cmsisrtx5::CmsisRTX5Thread::start ( const char * name,
ufm::sys::ThreadPriority priority )
overridevirtual

以指定名稱和優先權啟動執行緒

使執行緒開始執行其關聯的Runnable任務。執行緒將被調度器管理, 根據系統負載和優先權進行調度。

參數
name執行緒名稱,用於識別
priority執行緒優先權,決定調度順序
傳回值
true 執行緒成功啟動
false 執行緒啟動失敗,可能已在運行或資源不足

實作 ufm::sys::Thread.


此類別(class) 文件是由下列檔案中產生: