Tôi biết Thread.sleep() có thể làm cho chuỗi java bị treo trong một thời gian, như một số mili giây và một số nano giây nhất định. Nhưng vấn đề là việc gọi hàm này cũng gây ra chi phí.Làm cách nào để tạm dừng một chuỗi java trong một khoảng thời gian ngắn, chẳng hạn như 100 nano giây?
Ví dụ: nếu tôi muốn một chuỗi bị treo trong 100 nano giây và tôi gọi Thread.sleep (0, 100). Toàn bộ chi phí cho quá trình này là invocation_cost + 100 nanosceonds, có thể lớn hơn nhiều so với những gì tôi muốn. Làm thế nào tôi có thể tránh được vấn đề này, và đạt được mục đích của tôi?
Lý do tôi cần điều này là tôi muốn làm mô phỏng ngoại tuyến. Tôi đã lược tả thời gian thực hiện một nhiệm vụ; Bây giờ tôi muốn mô phỏng thời gian thực hiện này bằng cách đình chỉ một chủ đề trong cùng một khoảng thời gian.
Cảm ơn!
Bạn có lý do cụ thể khiến bạn muốn thực hiện việc này không? Nếu vậy, nó có thể được giải quyết theo một cách khác ... –
Đây là một yêu cầu bất thường. Có vẻ như bạn cần [chiến lược phản hồi] (http://en.wikipedia.org/wiki/Exponential_backoff) hoặc tương tự. – Bohemian
@gt FYI, thật khó chịu khi đăng câu hỏi lên stackoverflow và có câu trả lời cho câu hỏi của bạn thay vì cung cấp câu trả lời. Có nhiều lý do hợp lệ để muốn làm điều này đã phát sinh trong các dự án trong những năm qua. Một lý do thực tế là để duy trì hành vi thời gian thực trong các ứng dụng ghi lại âm thanh từ phần cứng, vì phần cứng có thể hoạt động không nhất quán hoặc bạn có thể mô phỏng hành vi phần cứng cho mục đích thử nghiệm. – EntangledLoops