C++ 中的 Seastar 框架是否允许用户在不同的线程中分配不同大小的内存?

问题描述

我最近在学习 seastar 框架,一件让我很困惑的事情。官方教程说内存平均分配在线程(核)中,但这可能看起来很不方便。海星是否允许用户自己分配内存来达到每个核有不同内存大小的目标?

解决方法

我认为您在谈论的是在其核心(分片)之间划分为 seastar 应用程序保留的内存。这确实是自动的,每个核心都将获得相等的数量。该内存然后被锁定,因此操作系统不能偷偷地将它分发给其他进程。 然后,您可以使用通常的 new/delete malloc/free 方法来管理您认为合适的每个内核上的内存,但您不能以这种方式分配更多内存,然后分配给您所在内核的内存量。