0

我有一个小问题,我希望找到可以提供帮助的人。我正在尝试使用 ucontext 在 c 中开发一个线程库,并且我已经为此开发了基本功能。所以现在我的问题是我想考虑当用户用 return 而不是我的 exit 函数完成他的函数时的情况。

是否可以知道线程上下文是否完成并在用户在其函数中使用 retutn 时获取返回值?

4

1 回答 1

0

是否可以知道线程上下文是否完成并在用户在其函数中使用 retutn 时获取返回值?

是的:您提供自己的函数,并用它初始化上下文。您将指针传递给用户函数,并将参数(如果有)传递给您的函数。该函数看起来像:

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.
}
于 2020-03-29T03:24:43.160 回答