Tôi đang sử dụng mã dưới đâyC# Thread.Sleep thức dậy ngay lập tức
Thread.Sleep(5);
ở phần cuối của một vòng lặp while. Để thử và nhận độ trễ 5ms giữa các lần lặp.
Đôi khi nó ngủ 16ms. Điều này tôi hiểu và chấp nhận, vì nó phụ thuộc vào khi CPU được xung quanh để phục vụ thread. Tuy nhiên một khi nó đã đánh thức lặp tiếp theo nó dường như thức dậy ngay lập tức sau khi cuộc gọi giấc ngủ (tôi đang đăng nhập với dấu thời gian). Có vấn đề với việc sử dụng khoảng thời gian ngủ ngắn như vậy mà nó được coi là không?
Bạn có thể đăng mã nơi bạn đang gọi Thread.Sleep() không? –
Đừng bận tâm. Chỉ cần đăng mã dấu thời gian. ;] – bzlm
5 ms có vẻ như nó nằm trong lề lỗi, đặc biệt nếu bạn đang sử dụng dấu thời gian. Hãy thử lại bằng cách sử dụng StopWatch và cho chúng tôi biết nếu bạn vẫn thấy hành vi này. –