mFrame
載入中...
搜尋中...
無符合項目
ufm::util::PFuture 類別 參考文件

可處理 Future 的類別 更多...

#include <PFuture.h>

類別ufm::util::PFuture的繼承圖:
ufm::lang::Object ufm::util::Future< int > ufm::lang::Interface ufm::io::CompletionHandler< int >

公開方法(Public Methods)

 PFuture (void)
 構造一個新的 PFuture 物件
 
virtual ~PFuture (void) override
 銷毀 PFuture 物件
 
template<typename E >
 operator const Future< E > & (void) const
 PFuture 轉換為 Future<E> 的常量引用
 
template<typename E >
 operator Future< E > & (void)
 PFuture 轉換為 Future<E> 的引用
 
virtual bool get (int &result, int timeout) override
 獲取非同步操作的結果
 
virtual bool setWait (void) override
 設置為等待狀態
 
virtual bool waitDone (int timeout) override
 等待非同步操作完成
 
virtual void clear (void) override
 清除當前狀態和結果
 
virtual ufm::util::FutureStatus getStatus (void) override
 獲取當前Future的狀態
 
virtual void completed (int &result, void *attachment) override
 當非同步操作成功完成時呼叫
 
virtual void failed (void *attachment) override
 當非同步操作失敗時呼叫
 
- 公開方法(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
 虛擬析構函式
 
- 公開方法(Public Methods) 繼承自 ufm::util::Future< int >
bool get (int &result)
 獲取非同步操作結果,無超時限制
 
bool waitDone (void)
 等待非同步操作完成,無超時限制
 
bool isDone (void)
 檢查操作是否已完成(無論成功或失敗)
 
bool isCompleted (void)
 檢查操作是否已成功完成
 
bool isFailed (void)
 檢查操作是否已失敗
 
bool isIdle (void)
 檢查操作是否處於閒置狀態
 
bool isBusy (void)
 檢查操作是否處於忙碌(等待)狀態
 

保護方法(Protected Methods)

void setCompleted (void)
 Future 標記為已完成狀態
 
void setFailed (void)
 Future 標記為失敗狀態
 

詳細描述

可處理 Future 的類別

實現了 Future<int> 介面,提供異步操作的結果處理機制。 允許使用者等待操作完成並獲取結果,管理異步操作的狀態、 執行緒和結果值。

1.0.0

建構子與解構子說明文件

◆ PFuture()

ufm::util::PFuture::PFuture ( void )

構造一個新的 PFuture 物件

初始化 PFuture 物件,設定初始狀態及相關參數

◆ ~PFuture()

virtual ufm::util::PFuture::~PFuture ( void )
overridevirtual

銷毀 PFuture 物件

釋放相關資源並執行清理操作

函式成員說明文件

◆ clear()

virtual void ufm::util::PFuture::clear ( void )
overridevirtual

清除當前狀態和結果

實作 ufm::util::Future< int >.

◆ completed()

virtual void ufm::util::PFuture::completed ( int & result,
void * attachment )
overridevirtual

當非同步操作成功完成時呼叫

實現此方法以處理操作成功的情況,可以獲取操作結果並訪問原始的附加物件

參數
result非同步操作的結果
attachment啟動操作時提供的附加物件

實作 ufm::io::CompletionHandler< int >.

◆ failed()

virtual void ufm::util::PFuture::failed ( void * attachment)
overridevirtual

當非同步操作失敗時呼叫

實現此方法以處理操作失敗的情況,可以訪問原始的附加物件進行錯誤恢復

參數
attachment啀動操作時提供的附加物件

實作 ufm::io::CompletionHandler< int >.

◆ get()

virtual bool ufm::util::PFuture::get ( int & result,
int timeout )
overridevirtual

獲取非同步操作的結果

參數
result[out] 用於存儲結果的引用
timeout等待超時時間,0表示無限等待
傳回值
true 成功獲取結果
false 獲取失敗或超時

實作 ufm::util::Future< int >.

◆ getStatus()

virtual ufm::util::FutureStatus ufm::util::PFuture::getStatus ( void )
overridevirtual

獲取當前Future的狀態

傳回值
FutureStatus 表示當前狀態的枚舉值

實作 ufm::util::Future< int >.

◆ operator const Future< E > &()

template<typename E >
ufm::util::PFuture::operator const Future< E > & ( void ) const
inline

PFuture 轉換為 Future<E> 的常量引用

允許將此物件作為不同泛型參數的 Future 使用

樣版參數
E目標 Future 的泛型類型
傳回值
轉換後的 Future<E> 常量引用

◆ operator Future< E > &()

template<typename E >
ufm::util::PFuture::operator Future< E > & ( void )
inline

PFuture 轉換為 Future<E> 的引用

允許將此物件作為不同泛型參數的 Future 使用

樣版參數
E目標 Future 的泛型類型
傳回值
轉換後的 Future<E> 引用

◆ setCompleted()

void ufm::util::PFuture::setCompleted ( void )
protected

Future 標記為已完成狀態

更新 Future 狀態並執行相關的完成邏輯

◆ setFailed()

void ufm::util::PFuture::setFailed ( void )
protected

Future 標記為失敗狀態

更新 Future 狀態並執行相關的失敗處理邏輯

◆ setWait()

virtual bool ufm::util::PFuture::setWait ( void )
overridevirtual

設置為等待狀態

傳回值
true 成功設置為等待狀態
false 設置失敗

實作 ufm::util::Future< int >.

◆ waitDone()

virtual bool ufm::util::PFuture::waitDone ( int timeout)
overridevirtual

等待非同步操作完成

參數
timeout等待超時時間,0表示無限等待
傳回值
true 操作已完成
false 等待超時或操作未完成

實作 ufm::util::Future< int >.


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