Foxit PDF SDK
FX_THREADHANDLER结构体 参考

应用程序扩展的线程处理器。 更多...

Public 属性

FX_HTHREAD(* CreateThread )(FX_LPVOID pUserData, FX_INT32 nPriority, size_t szStack, FX_CALLBACK_ThreadProc lpfThreadProc, FX_LPVOID param)
 创建线程的回调函数。 更多...
 
FX_BOOL(* ExitThread )(FX_LPVOID pUserData)
 从当前线程退出的回调函数。 更多...
 
FX_HTHREAD(* GetCurrentThread )(FX_LPVOID pUserData)
 获取当前线程句柄的回调函数。 更多...
 
FX_INT32(* GetThreadPriority )(FX_LPVOID pUserData, FX_HTHREAD hThread)
 获取线程优先级的回调函数。 更多...
 
FX_LPVOID pUserData
 指向用户数据的指针。
 
void(* SetThreadPriority )(FX_LPVOID pUserData, FX_HTHREAD hThread, FX_INT32 nPriority)
 设置线程优先级的回调函数。 更多...
 
FX_INT32(* WaitForMultipleThreads )(FX_LPVOID pUserData, const FX_HTHREAD *pThreads, FX_INT32 nCount)
 等待多个线程终止。 更多...
 
FX_INT32(* WaitForSingleThread )(FX_LPVOID pUserData, FX_HTHREAD hThread)
 等待单个线程终止。 更多...
 
void(* Yield )(FX_LPVOID pUserData)
 将CPU时间切换到另一个线程的回调函数。 更多...
 

详细描述

应用程序扩展的线程处理器。

注解
此功能在单线程模式下或未定义_FPDFAPI_MT_时被禁用。

类成员变量说明

◆ CreateThread

FX_HTHREAD(* FX_THREADHANDLER::CreateThread) (FX_LPVOID pUserData, FX_INT32 nPriority, size_t szStack, FX_CALLBACK_ThreadProc lpfThreadProc, FX_LPVOID param)

创建线程的回调函数。

参数
[in]pUserData指向用户数据的指针。
[in]nPriority线程优先级,默认设置为0。
[in]szStack线程的堆栈大小,默认设置为0。
[in]lpfThreadProc线程过程的函数地址。
[in]param传递给线程过程的用户参数。
返回
线程句柄,失败时返回NULL。

◆ ExitThread

FX_BOOL(* FX_THREADHANDLER::ExitThread) (FX_LPVOID pUserData)

从当前线程退出的回调函数。

参数
[in]pUserData指向用户数据的指针。
返回
true表示成功,false表示失败。

◆ GetCurrentThread

FX_HTHREAD(* FX_THREADHANDLER::GetCurrentThread) (FX_LPVOID pUserData)

获取当前线程句柄的回调函数。

参数
[in]pUserData指向用户数据的指针。
返回
线程句柄。NULL表示发生错误。

◆ GetThreadPriority

FX_INT32(* FX_THREADHANDLER::GetThreadPriority) (FX_LPVOID pUserData, FX_HTHREAD hThread)

获取线程优先级的回调函数。

参数
[in]pUserData指向用户数据的指针。
[in]hThread指定要获取优先级的线程句柄。
返回
线程优先级代码,参考FX_THREADPRIORITY_XXX宏。

◆ SetThreadPriority

void(* FX_THREADHANDLER::SetThreadPriority) (FX_LPVOID pUserData, FX_HTHREAD hThread, FX_INT32 nPriority)

设置线程优先级的回调函数。

参数
[in]pUserData指向用户数据的指针。
[in]hThread指定要设置优先级的线程句柄。
[in]nPriority线程优先级代码。
返回
无。

◆ WaitForMultipleThreads

FX_INT32(* FX_THREADHANDLER::WaitForMultipleThreads) (FX_LPVOID pUserData, const FX_HTHREAD *pThreads, FX_INT32 nCount)

等待多个线程终止。

参数
[in]pUserData指向用户数据的指针。
[in]pThreads指向线程句柄数组的指针。
[in]nCount数组中线程的数量。
返回
0 表示所有线程成功终止,其他值表示失败。

◆ WaitForSingleThread

FX_INT32(* FX_THREADHANDLER::WaitForSingleThread) (FX_LPVOID pUserData, FX_HTHREAD hThread)

等待单个线程终止。

参数
[in]pUserData指向用户数据的指针。
[in]hThread指定要等待的线程句柄。
返回
0表示线程成功终止,其他值表示失败。

◆ Yield

void(* FX_THREADHANDLER::Yield) (FX_LPVOID pUserData)

将CPU时间切换到另一个线程的回调函数。

参数
[in]pUserData指向用户数据的指针。
返回
无。
注解
如果调用者想要中断当前线程运行,调用此函数切换到另一个线程。 调用线程将在下次线程轮询时被唤醒。