use dispatch_sync to guard textsHeightCache_