http://en.wikipedia.org/wiki/Reentrant_%28subroutine%29
http://stackoverflow.com/questions/147298/multithreaded-memory-allocators-for-c-c