Để xây dựng câu trả lời của @ JaredPar, bạn có điều kiện chạy đua trên tay. Nếu cuộc gọi đầu tiên tạo thư mục hoàn toàn, và chỉ khi đó cuộc gọi thứ hai bắt đầu, mọi thứ sẽ ổn. Tuy nhiên,
tuy nhiên, nếu cuộc gọi thứ hai tiếp cận hệ điều hành trong khi vẫn đang xử lý đầu tiên, hệ điều hành có thể bị lỗi do lỗi thứ hai khóa các sự cố và bạn sẽ bị ngoại lệ.
Vẫn là chủ đề an toàn theo nghĩa là bạn sẽ không nhận được bất kỳ thư mục không thể đoán trước nào được tạo hoặc không có thư mục nào cả.
Để xây dựng - trong khi tôi không chắc chắn 100% rằng Windows không có điều kiện chủng tộc nội bộ khi cùng một thư mục được tạo hai lần đồng thời, tôi chắc chắn bạn sẽ không thể chuyển đĩa vào làm điều đó, hoặc có một bế tắc với cả hai sáng tạo bị mắc kẹt cho đến chết. Một trong số họ sẽ thành công, người kia sẽ thất bại, nhưng thư mục sẽ được tạo ra.
Vì vậy, chẩn đoán của bạn, chỉ để được hoàn toàn chắc chắn, nên này:
- Create Directory
- Nếu nó không thành công, phải đợi một khoảng thời gian ngẫu nhiên (ví dụ, giữa 0,2 và 0,5 giây) và thử lại.
Nếu nó không liên tục (nói, 3 lần liên tiếp), bạn có một vấn đề ở bàn tay của bạn - không có quyền truy cập vào các thư mục, một đĩa đầy đủ, vv ..
Ngẫu nhiên, tại sao không tạo ra các thư mục một lần khi ứng dụng bắt đầu chạy?
Điều này không giải quyết được vấn đề mặc dù nó sẽ ném từ một hoặc cả hai chủ đề – JaredPar
True- Tôi tin câu trả lời của bạn bao gồm tốt hơn (tôi upvoted btw). Tôi sẽ sửa đổi câu trả lời của tôi. –