Tôi là người mới khi nói đến điều này. Bất cứ ai có thể cung cấp một giải thích đơn giản về sự khác biệt giữa các rào cản bộ nhớ sau đây?C + + Các rào cản bộ nhớ cho nguyên tử
- Các cửa sổ
MemoryBarrier();
- Các hàng rào
_mm_mfence();
- Việc lắp ráp nội tuyến
asm volatile ("" : : : "memory");
- Các nội
_ReadWriteBarrier();
Nếu không có một lời giải thích đơn giản một số liên kết đến bài viết tốt hay sách sẽ có thể giúp tôi làm cho nó thẳng. Cho đến bây giờ, tôi chỉ sử dụng các đối tượng được viết bởi những người khác gói những cuộc gọi này nhưng tôi muốn có một sự hiểu biết tốt hơn suy nghĩ hiện tại của tôi về cơ bản dọc theo các dòng có nhiều cách để thực hiện các rào cản bộ nhớ.
bạn quên khoảng C++ 11s 'atomic_thread_fence' – Grizzly
Vâng đó là điều này dẫn đến ... chúng tôi có đối tượng mẫu nguyên tử của riêng mình cho các loại tích phân và tôi muốn chuyển sang nguyên tử chuẩn C++ 11. Trước khi làm như vậy, tôi muốn hiểu việc triển khai cơ bản về cách cả hai thực sự hoạt động. – AJG85