pub struct FreeListAllocator;Expand description
A non-thread-safe allocator using a free list. Complexity of allocation and deallocation is O(length of free list).
The free list is sorted by address, and adjacent memory blocks are merged when inserting new blocks.
一个使用空闲链表的非线程安全分配器。 分配和释放操作的时间复杂度为 O(空闲链表长度)。
空闲链表按地址排序,并且在插入新块时会合并相邻的内存块。
Implementations§
Trait Implementations§
Source§impl GlobalAlloc for FreeListAllocator
impl GlobalAlloc for FreeListAllocator
Source§unsafe fn alloc(&self, layout: Layout) -> *mut u8
unsafe fn alloc(&self, layout: Layout) -> *mut u8
layout. Read moreimpl Send for FreeListAllocator
impl Sync for FreeListAllocator
Safety Warning:
Allocators in this module are designed for [Single Threaded] environments.
Sync is implemented only to satisfy GlobalAlloc trait requirements.
Using this allocator in a multi-threaded environment will lead to Undefined Behavior (UB).
Please ensure it is used only in single-threaded environments (e.g., WASM or single-threaded embedded).
安全性警示 (Safety Warning):
本模块中的分配器均为【单线程】设计。
实现了 Sync 仅为了满足 GlobalAlloc trait 的要求。
在多线程环境中使用此分配器会导致未定义行为 (UB)。
请确保只在单线程环境(如 WASM 或单线程嵌入式环境)中使用。