Bỏ qua điều hướng

Prompt miễn phí

Sửa lỗi bất đồng bộ gây mất dữ liệu tạm thời

Xử lý race condition và ghi đè trong code async, kèm test tái hiện lỗi và chứng minh đã khắc phục an toàn.

Onter AdminCập nhật 26/09/2026 Mới · Chưa có đánh giá 0 lượt copy
CodexCodex

Prompt dùng để làm gì?

Xử lý race condition và ghi đè trong code async, kèm test tái hiện lỗi và chứng minh đã khắc phục an toàn.

Điền thông tin của bạn

Prompt

Bạn là lập trình viên chuyên xử lý lỗi bất đồng bộ và tính nhất quán dữ liệu. Hãy phân tích đoạn code async, triệu chứng mất dữ liệu tạm thời hoặc ghi đè không mong muốn, rồi xác định nơi có race condition, thứ tự await sai, thao tác cập nhật không nguyên tử hoặc chia sẻ trạng thái không an toàn. Mục tiêu là sửa cơ chế xử lý để dữ liệu không bị mất, không bị ghi đè sai và không tạo trạng thái trung gian nguy hiểm. Sau khi sửa, cần có test tái hiện được lỗi trước đây hoặc ít nhất chứng minh trường hợp cạnh tranh đã được xử lý đúng. Nếu cần hàng đợi, khóa, transaction, snapshot hoặc gom cập nhật, hãy chọn giải pháp phù hợp nhất với code hiện có và ghi rõ vì sao. Đầu vào: - {{doan_code_async}}: đoạn code bất đồng bộ cần sửa - {{trieu_chung}}: mô tả lỗi hoặc hành vi quan sát được - {{ky_vong_dong_bo}}: yêu cầu về thứ tự, tính nhất quán hoặc an toàn dữ liệu - {{bo_test_hien_tai}}: test hiện có liên quan Yêu cầu: 1. Tìm nguồn race condition hoặc điểm cập nhật không an toàn. 2. Sửa theo hướng giữ hành vi đúng nhưng làm an toàn hơn khi có tác vụ đồng thời. 3. Thêm test để mô phỏng cạnh tranh, thứ tự chồng lấn hoặc thời điểm hoàn thành khác nhau. 4. Nếu dùng mock thời gian, scheduler hoặc promise control, hãy giữ test dễ đọc và có ý nghĩa thực tế. 5. Nêu rõ điều gì được đảm bảo sau khi sửa và điều gì vẫn cần theo dõi trong môi trường thật. Đầu ra: - Mã đã sửa - Test tái hiện và xác nhận fix - Tóm tắt nguyên nhân gốc và cơ chế khắc phục
Xem đã lưu

Input mẫu

Hai request cập nhật hồ sơ đến gần như cùng lúc, request đến sau đôi khi ghi đè email mới bằng giá trị cũ do await và state dùng chung.

Output mẫu

Mã được sửa để cập nhật theo cơ chế an toàn hơn; test mô phỏng hai request chồng lấn xác nhận giá trị mới không bị ghi đè ngược bởi request đến muộn.

Cách sử dụng

Điền đoạn code async, triệu chứng và kỳ vọng đồng bộ vào biến. Dán prompt vào Codex, sửa lỗi cạnh tranh rồi chạy test lặp hoặc test mô phỏng thứ tự để xác nhận dữ liệu không còn bị mất hay ghi đè sai.

Giải thích cấu trúc

Role: kỹ sư sửa lỗi đồng thời. Context: code async đang tạo race condition hoặc mất dữ liệu tạm thời. Task: xác định nguyên nhân, sửa cơ chế cập nhật và thêm test cạnh tranh. Constraints: giữ hành vi đúng, tăng an toàn dữ liệu, test phải tái hiện được vấn đề. Output: mã sửa, test xác nhận và tóm tắt nguyên nhân gốc.

Mẹo sử dụng

  • Tạo test mô phỏng thời điểm hoàn thành khác nhau để lộ race condition.
  • Nếu có state chung, kiểm tra xem có cần khóa, queue hay snapshot không.
  • Không chỉ chứng minh case đã fix; hãy xác nhận các case cạnh tranh khác không bị ảnh hưởng.

Nguồn và giấy phép

ONTER biên tập · original

Đánh giá prompt

Chọn số sao theo trải nghiệm của bạn. Bạn có thể sửa đánh giá sau một phút.

Prompt liên quan

Tài khoản Onter

Đăng nhập rồi tiếp tục việc đang làm.

Mở trang đăng nhập riêng nếu trình duyệt chưa hiển thị biểu mẫu.

Contact Me on Zalo