system_clock, sistem genelindeki gerçek zamanlı duvar saatini temsil eder. Sistemin zaman ayarlarından etkilenir.
steady_clock sistem zamanındaki değişikliklerden etkilenmeyen, monoton olarak artan bir saati temsil eder.
yüksek_çözünürlük_saati, sistemde mevcut olan en kısa tıklama periyoduna sahip saattir.
kaplan ile aslan arasındaki fark
Ek olarak
Chrono kütüphanesi tarih ve saatle ilgilenmek için kullanılır. Bu kütüphane, zamanlayıcıların ve saatlerin farklı sistemlerde farklı olabileceği gerçeğini ele almak ve böylece zaman içinde hassasiyet açısından gelişmek için tasarlandı. Chrono'nun benzersiz özelliği, Süreyi ve zaman noktasını (zaman noktası) belirli saatlerden ayırarak hassas-nötr konsept. chrono, bir başlığın ve aynı zamanda bir alt ad alanının adıdır: Bu başlıktaki tüm öğeler (ortak_tip uzmanlıkları hariç) doğrudan std ad alanı altında değil (standart kitaplığın çoğu gibi), ancak std::chrono ad alanı . Bu başlıktaki öğeler zamanla ilgilidir. Bu esas olarak üç kavram aracılığıyla yapılır:
Süre
iş parçacığı senkronizasyonu
Bir süre nesnesi, bir dakika, iki saat veya on milisaniye gibi bir sayım aracılığıyla bir zaman aralığını ifade eder. Örneğin '42 saniye', 1 saniyelik zaman biriminin 42 tıklamasından oluşan bir süre ile temsil edilebilir.
CPP// C++ program to illustrate the utility // function duration::count #include #include int main () { using namespace std::chrono; // std::chrono::milliseconds is an // instantiation of std::chrono::duration:- 1 second milliseconds mil(1000); mil = mil*60; std::cout << "duration (in periods): "; std::cout << mil.count() << " milliseconds.n"; std::cout << "duration (in seconds): "; std::cout << (mil.count() * milliseconds::period::num / milliseconds::period::den); std::cout << " seconds.n"; return 0; }
Çıkış:
duration (in periods): 60000 milliseconds. duration (in seconds): 60 seconds.
Saat
Bir saat, bir başlangıç noktası (veya çağ) ve bir tıklama oranından oluşur. Örneğin bir saatin 22 Şubat 1996 dönemi olabilir ve her saniye tik tak edebilir. C++ üç saat türünü tanımlar:
Zaman noktası
Time_point nesnesi, saatin çağına göre zamandaki bir noktayı ifade eder. Dahili olarak nesne, süre tipindeki bir nesneyi saklar ve kendi dönemi için referans olarak Clock tipini kullanır.
CPP// C++ program to illustrate time point // and system clock functions #include #include #include // Function to calculate // Fibonacci series long fibonacci(unsigned n) { if (n < 2) return n; return fibonacci(n-1) + fibonacci(n-2); } int main() { // Using time point and system_clock std::chrono::time_point<std::chrono::system_clock> start end; start = std::chrono::system_clock::now(); std::cout << "f(42) = " << fibonacci(42) << 'n'; end = std::chrono::system_clock::now(); std::chrono::duration<double> elapsed_seconds = end - start; std::time_t end_time = std::chrono::system_clock::to_time_t(end); std::cout << "finished computation at " << std::ctime(&end_time) << "elapsed time: " << elapsed_seconds.count() << "sn"; }
Çıkış:
f(42) = 267914296 finished computation at Wed Jan 4 05:13:48 2017 elapsed time: 2.14538s
tarafından sağlanan saatlerin ve sürelerin kesinliği ve doğruluğunun dikkate alınması önemlidir.
deterministik sonlu otomatlar
Test Oluştur