Trong Java util logging, tôi khởi tạo trình xử lý trên init() và đóng trình xử lý tại destroy() và nó hoạt động hoàn toàn tốt đẹp: vv Nếu người dùng làm mới trang bình thường, nó vẫn chỉ tạo một tệp nhật ký.Java applet: Làm thế nào để chắc chắn phá hủy được hoàn thành trước khi làm mới trang
Tuy nhiên, nếu người dùng làm mới trang bằng applet nhanh gấp đôi, có vẻ như lệnh hủy() không được gọi hoặc có thể chưa hoàn thành tác vụ và vì init() được gọi lại, giả sử tập tin trước đó vẫn bị khóa và tạo một tệp nhật ký mới.
Tôi đã cố gắng sử dụng cả destroy() và finalize() để đóng trình xử lý nhưng nó không hoạt động. Bất cứ ai cũng có ý tưởng làm thế nào để giải quyết vấn đề này?
Một câu hỏi nhỏ khác là: Điều gì thực sự xảy ra nếu init() chưa hoàn tất và trang được làm mới. Nó sẽ tiếp tục quá trình và cuối cùng thất bại để gọi phá hủy() hoặc nó chỉ dừng lại ở đó?
Bạn có thể thêm vào mã câu hỏi của phương thức "init" và "destroy" không? Ít nhất là các bộ phận về trình xử lý nhật ký. –