Подтвердить что ты не робот

Размещение объектов Python в общей памяти

Есть ли модуль Python, который позволит мне помещать экземпляры нетривиальных пользовательских классов в общую память?

Под этим я подразумеваю выделение непосредственно в разделяемой памяти, а не травление в нее и из нее.

multiprocessing.Value и multiprocessing.Array wouldn ' t для моего варианта использования, поскольку они только поддерживают примитивные типы и массивы.

Единственное, что я нашел до сих пор, это POSH, но он не изменился за восемь лет. Это говорит о том, что он либо суперстабилен, либо устарел. Прежде чем инвестировать время в попытку заставить его работать, я хотел бы знать, есть ли альтернативы, которые я еще не обнаружил.

Мне нужно только это, чтобы работать в Linux.

4b9b3361

Ответ 1

Такой жесткий. Лучшее решение, которое я могу придумать, - это травление ваших объектов и использование c_char_p с multiprocessing.sharedctypes. Вы все равно должны убедиться, что нулевые байты не попали в c_char_p, либо путем экранирования, либо преобразования в hex.

С другой стороны, возможно, вам стоит пойти с POSH.