Tyrus Thomas has reached agreement on 5-year, $40 million contract to stay with Charlotte, league sources say.