tôi phải viết một chương trình C trong đó có ngủ cho mili giây, trong đó có để chạy trên các nền tảng khác nhau như Windows, Linux, Solaris, HP-UX, IBM AIX, VxWorks, và WinDriver LinuxNgủ trong mili giây trên Windows, Linux, Solaris, HP-UX, IBM AIX, Vxworks, Wind River Linux?
- On Windows , cuộc gọi hệ thống
Sleep
sẽ chỉ hoạt động trên mili giây. - Trên Linux,
sleep
sẽ hoạt động trên giây;usleep
sẽ hoạt động trên micro giây và có sẵn trên Solaris. - Trong Vxworks, tôi hy vọng tôi có thể triển khai bằng cách sử dụng
taskDelay
vàsysClkRateSet
.
Làm cách nào để đạt được giấc ngủ một phần nghìn giây này trên HP-UX, IBM AIX và Wind River Linux?
['usleep'] (http://pubs.opengroup.org/onlinepubs/009695399/functions/usleep.html) là POSIX nên có trong tất cả các hệ thống tuân thủ POSIX (như HP/UX, AIX, vv). Tuy nhiên, nó được đánh dấu là lỗi thời, ủng hộ ['nanosleep'] (http://pubs.opengroup.org/onlinepubs/009695399/functions/nanosleep.html) mà mặt khác được đánh dấu là tùy chọn. –
Lưu ý rằng chỉ vì bạn có thể tìm thấy một cách để * express * một sự chậm trễ n-millisecond, hoàn toàn không đảm bảo rằng hệ điều hành máy chủ sẽ * cung cấp cho bạn chính xác những gì bạn yêu cầu. Hệ điều hành: danh sách của bạn thường không phải là thời gian thực, vì vậy họ sẽ rất có thể không đảm bảo những thứ như vậy; khi sự chậm trễ của bạn kết thúc, một nhiệm vụ cao cấp hơn có thể chiếm CPU. – unwind
Liên kết sau có trả lời câu hỏi của bạn không? http://stackoverflow.com/questions/1157209/is-there-an-alternative-sleep-function-in-c-to-milliseconds – kunal18