现在想问个小白的问题。
首先我知道每个进程都会创建很多线程去执行具体的代码,所以线程越多,栈内存的分配就越多。 我想问的问题是,多线程环境下栈内存的分配是否也需和内核交互呢(之前我很清楚,堆内存是需要调用零环的api申请的)?也是通过零环的API调用获取的么?
栈内存一般不需要调用 API 动态分配,直接定义 local 变量就是了。当然,栈页面自动向下增长,会触发缺页异常,需要内核处理。其他情况分配、回收基本是编译器的事情。
23,216
社区成员
74,539
社区内容
加载中
试试用AI创作助手写篇文章吧