Comparing different lock implementations