使用 return 退出线程
Exit thread with return
我有个小问题,希望能找到能帮忙的人。
我正在尝试使用 ucontext 在 c 中开发一个线程库,并且我已经为此开发了基本功能。所以现在我的问题是我想考虑用户使用 return 而不是我的退出函数完成他的函数的情况。
当用户在其函数中使用 retutn 时,是否可以知道线程上下文是否已完成并获取 return 值??
Is it possible to kown if the thread context is finished and to get the return value when the user uses retutn in his function ??
是:您提供自己的 函数,并用它初始化上下文。您将一个指向用户函数的指针和参数(如果有)传递给您的函数。该函数看起来像:
void *thread_top(void *(*user_fn)(void*), void *arg)
{
void *ret = (*user_fn)(arg);
// Do whatever is desirable for "ret" and terminate the context here.
}
我有个小问题,希望能找到能帮忙的人。 我正在尝试使用 ucontext 在 c 中开发一个线程库,并且我已经为此开发了基本功能。所以现在我的问题是我想考虑用户使用 return 而不是我的退出函数完成他的函数的情况。
当用户在其函数中使用 retutn 时,是否可以知道线程上下文是否已完成并获取 return 值??
Is it possible to kown if the thread context is finished and to get the return value when the user uses retutn in his function ??
是:您提供自己的 函数,并用它初始化上下文。您将一个指向用户函数的指针和参数(如果有)传递给您的函数。该函数看起来像:
void *thread_top(void *(*user_fn)(void*), void *arg)
{
void *ret = (*user_fn)(arg);
// Do whatever is desirable for "ret" and terminate the context here.
}