pthread_exit 从线程调用的函数中退出

发布于 2024-11-09 01:33:25 字数 99 浏览 0 评论 0原文

假设我创建一个线程,在某个时刻调用函数 foo()。 如果我从 foo 中调用 pthread_exit() ,结果会终止吗 调用 foo 的线程的?

谢谢, 尼科斯

Suppose i create a thread that ,in some point, calls a function foo().
If i call pthread_exit() from within foo, will that have as a result termination
of the thread that called foo?

thanks,
Nikos

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

小嗲 2024-11-16 01:33:25

当然。否则 pthread_exit 首先有什么意义。
http://www.kernel.org/doc /man-pages/online/pages/man3/pthread_exit.3.html
“pthread_exit() 函数应终止调用线程”

Of course. Otherwise what's the point of pthread_exit in the first place.
http://www.kernel.org/doc/man-pages/online/pages/man3/pthread_exit.3.html
"The pthread_exit() function shall terminate the calling thread"

相思碎 2024-11-16 01:33:25

从文档中:

pthread_exit()函数终止
调用线程

From the documentation:

The pthread_exit() function terminates
the calling thread

再可℃爱ぅ一点好了 2024-11-16 01:33:25

是的当然。它还将导致调用清理代码(如果有)。请注意,它不会自动清理互斥体等应用程序资源。请参阅 pthread_exit() 文档以获取更多信息。

Yes, of course. It will also result in calling cleanup code, if any. Beware that it won't automatically clean application resources like mutexes etc. See pthread_exit() documentation for more information.

疯狂的代价 2024-11-16 01:33:25

当然 - 线程上下文不受调用/返回的影响。无论调用堆栈有多长,线程都会调用 pthread_exit()。如果 20 个线程调用 foo,则所有 20 个线程都将退出。

平均值,
马丁

Sure - thread context is unaffected by call/return. The thread IS calling pthread_exit(), no matter how long the call stack is. If 20 threads call foo then all 20 threads will exit.

Rgds,
Martin

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文