每个线程都有自己的堆栈吗

Does each thread have its own stack?

本文关键字:自己的 堆栈 线程      更新时间:2023-10-16

当我从一个进程创建多个线程时,每个线程都有自己的堆栈,还是它们共享其父进程的堆栈。当线程进行系统调用时会发生什么?线程是否也维护自己的类似内核堆栈的进程?

Yes线程有自己的堆栈和内核堆栈(例如linux)。

当线程进行系统调用时,您进入内核模式(从用户模式),将参数传递给内核,检查参数,内核执行它需要执行的操作(在内核堆栈中),将最终值返回给线程,然后返回用户模式。