Tôi đã tranh luận điều này với bản thân mình trong vài phút gần đây, và tôi thấy lý do cho cả hai có và không. Điều này xuất phát từ việc nhìn vào các câu trả lời cho Java HashMap vs. Hashtable và thấy một số người nói rằng Hashtable thực tế là chậm hơn.Phương pháp đồng bộ hóa có chậm hơn trong các ứng dụng đơn luồng không?
Dường như với tôi rằng phương pháp đồng bộ nên hành động hoàn toàn không khác với đối tác không đồng bộ của nó nếu chạy trong một chuỗi đơn lẻ, vì hành động đồng bộ hóa sẽ không chặn bất kỳ thứ gì. Điều đó nói rằng, tôi sẽ tưởng tượng trình biên dịch xử lý hai trường hợp khác nhau và đó là lý do tại sao mọi người đang nói đồng bộ là chậm hơn.
Không phải là nó có nghĩa là kết thúc, nhưng tôi đã chạy một số thử nghiệm đơn giản trên HashMap vs Hashtable và thấy sự khác biệt nhỏ về tốc độ.
Nút cổ chai sẽ có trong thuật toán của bạn. Do đó, chi phí đồng bộ hóa nên nhỏ. – sybreon