improve dispatcher lock behavior