সি ++ 11 এর জন্য একটি আপডেট হওয়া উত্তর:
sleep_for
এবং sleep_until
ফাংশন ব্যবহার করুন :
#include <chrono>
#include <thread>
int main() {
using namespace std::this_thread;
using namespace std::chrono;
sleep_for(nanoseconds(10));
sleep_until(system_clock::now() + seconds(1));
}
এই ফাংশন সঙ্গে সেখানে আর কোনো প্রয়োজন ক্রমাগত ভাল রেজল্যুশন জন্য নতুন ফাংশন যোগ করার জন্য আছে: sleep
, usleep
, nanosleep
, ইত্যাদি sleep_for
এবং sleep_until
টেমপ্লেট ফাংশন যে এর মাধ্যমে যেকোনো রেজল্যুশন মান গ্রহণ করতে পারেন chrono
ধরনের; ঘন্টা, সেকেন্ড, ফেমটোসেকেন্ডস ইত্যাদি
সি ++ 14 এ আপনি nanoseconds
এবং এর জন্য আক্ষরিক প্রত্যয়গুলির সাথে কোডটি আরও সরল করতে পারেন seconds
:
#include <chrono>
#include <thread>
int main() {
using namespace std::this_thread;
using namespace std::chrono_literals;
using std::chrono::system_clock;
sleep_for(10ns);
sleep_until(system_clock::now() + 1s);
}
মনে রাখবেন যে ঘুমের আসল সময়কাল বাস্তবায়নের উপর নির্ভর করে: আপনি 10 ন্যানো সেকেন্ডের জন্য ঘুমাতে চাইতে পারেন, তবে এটি বাস্তবায়নের ফলে মিলি সেকেন্ডের জন্য ঘুমানো শেষ হতে পারে, যদি এটি সবচেয়ে কম সময়ের মধ্যে করতে পারে।