如何为linux上的clone()系统调用mmap栈?

前端之家收集整理的这篇文章主要介绍了如何为linux上的clone()系统调用mmap栈?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Linux上的clone()系统调用接受一个指向堆栈的参数,以供新创建的线程使用.显而易见的方法是简单地malloc一些空间并传递它,但是你必须确保你已经使用了大量的堆栈空间,因为该线程将使用(很难预测).

我记得在使用pthreads时我没有必要这样做,所以我很好奇它做了什么.我遇到了this site,它解释说,“Linux pthreads实现使用的最佳解决方案是使用mmap来分配内存,标志指定在使用时分配的内存区域.这样,内存就分配给了根据需要进行堆叠,如果系统无法分配额外的内存,则会发生分段违规.“

我曾经听过mmap使用的唯一上下文是将文件映射到内存,实际上读取mmap手册页需要一个文件描述符.如何使用它来分配一堆动态长度来给clone()?这个网站真的很疯狂吗?

猜你在找的Linux相关文章