Perhaps explore different synchronization methods and reduce locked time, additionally use some sort of wait instead of sleep