Khi các biến khác nhau nằm trong cùng một dòng bộ nhớ cache, bạn có thể trải nghiệm False Sharing, có nghĩa là ngay cả khi hai luồng khác nhau (chạy trên các lõi khác nhau) đang truy cập hai biến khác nhau, nếu hai biến đó nằm trong cùng một dòng bộ nhớ cache, bạn sẽ có hiệu suất truy cập, vì mỗi lần kết hợp bộ nhớ cache sẽ được kích hoạt.Chia sẻ sai và biến nguyên tử
Bây giờ hãy nói rằng các biến đó là biến nguyên tử (Theo nguyên tử tôi ngụ ý các biến giới thiệu hàng rào bộ nhớ, chẳng hạn như atomic<t>
của C++), sẽ chia sẻ sai sự cố ở đó hoặc không quan trọng nếu các biến nguyên tử nằm trong cùng một bộ nhớ cache dòng hay không, như được cho là họ sẽ giới thiệu kết hợp bộ nhớ cache anyway. Nói cách khác, sẽ đặt các biến nguyên tử trong cùng một dòng bộ nhớ cache làm cho ứng dụng chậm hơn không đặt chúng trong cùng một dòng bộ nhớ cache?