ที่นี่เราจะดูวิธีทำให้โปรแกรมหยุดทำงาน (Sleep) เป็นเวลา x (ผู้ใช้กำหนด) มิลลิวินาทีในโปรแกรม C++
เพื่อทำเช่นนี้เราสามารถใช้ไลบรารีต่างๆ ได้ แต่ที่นี่เราใช้ฟังก์ชัน clock() ฟังก์ชัน clock() จะคืนค่า CPU Time ปัจจุบัน ที่นี่เราจะพยายามหา Ending Time จาก clock และค่า x ที่กำหนด แล้วในช่วงเวลานั้น เราจะรัน Blank While Loop เพื่อใช้เวลา ที่นี่มี Macro หนึ่งชื่อ CLOCKS_PER_SEC ใช้หาจำนวน Clock Ticks ต่อวินาที
มาดูโค้ดเพื่อเข้าใจแนวคิดได้ดีขึ้น
ตัวอย่าง
#include <iostream> #include <time.h> using namespace std; void sleepcp(int milli) { // Cross-platform sleep function clock_t end_time; end_time = clock() + milli * CLOCKS_PER_SEC/1000; while (clock() < end_time) { //blank loop สำหรับรอ } } int main() { cout << "Staring counter for 7 seconds (7000 Milliseconds)" << endl; sleepcp(7000); cout << "Timer end" << endl; }
ผลลัพธ์
Staring counter for 7 seconds (7000 Milliseconds) Timer end