Re:Writing a Memory Allocator (2019)
by fh973 on Sunday December 13, 2020 @02:45AM
(#25405001)
But objects are passed around between threads and another thread might want to free it?
[ Parent
| on HN ]
Then it goes to the freeing thread memory pool. Thread-aware mallocs know this and have clever balancing mechanisms for situations like producer-consumer, where one thread allocs a lot and another frees a lot.
Edit: wrong, I re-checked. The solution to this is that marking an object as free is lock-free. The freed objects do not immediately change thread pools.