Ngăn chặn race condition bằng điều kiện
Hai tiến trình đang cố cập nhật đồng thời địa chỉ email của cùng một người dùng:
- Tiến trình A: Đổi email từ '[email protected]' thành '[email protected]'
- Tiến trình B: Đổi email từ '[email protected]' thành '[email protected]'
Cả hai đều dùng updateitem() với ConditionExpression='email = :oldemail' trong đó :old_email = '[email protected]'. Tiến trình A chạy trước và thành công.
Điều gì xảy ra khi Tiến trình B chạy ngay sau đó?
Bài tập này là một phần của khóa học
Sử dụng Kho dữ liệu trong AWS
Bài tập tương tác thực hành
Biến lý thuyết thành hành động với một trong các bài tập tương tác của chúng tôi
Bắt đầu bài tập