Methods and apparatuses for thread management for multi-threading are
described herein. In one embodiment, exemplary process includes
selecting, during a compilation of code having one or more threads
executable in a data processing system, a current thread having a most
bottom order, determining resources allocated to one or more child
threads spawned from the current thread, and allocating resources for the
current thread in consideration of the resources allocated to the current
thread's one or more child threads to avoid resource conflicts between
the current thread and its one or more child threads. Other methods and
apparatuses are also described.