C 多线程进程堆栈的最大大小
据我了解C 多线程进程堆栈的最大大小,c,multithreading,memory-management,virtual-memory,memory-layout,C,Multithreading,Memory Management,Virtual Memory,Memory Layout,据我了解 进程的每个线程都有一个堆栈,而进程通常只有一个堆 操作系统设置了默认的堆栈最大大小限制 Windows-64位:1MB Linux-64位:8MB 该限制是否适用于进程级别,或者每个线程可以有1MB/8MB堆栈 线程退出后,分配给堆栈的内存会发生什么变化 进程的每个线程都会得到一个堆栈,而通常只有 进程的一个堆 没错 这个限制是否适用于进程级别,或者每个线程可以有 1MB/8MB堆栈 每个线程都有自己的堆栈;堆栈大小限制为每个线程(即,它不是进程中所有线程的共享限制) 线程退出后,分
通常,它们将一直分配给进程,直到进程退出且地址空间不再存在。“内存页将被释放,并可供将来的其他代码使用。在线程退出时,这仅对分离的线程和未连接的线程发生(至少对POSIX线程是默认的)当线程被连接时会发生这种情况。@alk线程的底层技术中没有分离或未连接的东西,分离/未连接的东西是C级别的。@MichaelChourdakis线程也没有堆栈-某些东西必须管理线程的堆栈。堆栈由管理分离/未连接的相同机制管理他。