Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++11 का उपयोग करके टाइमर कैसे बनाएं?

यहां हम देखेंगे कि C++ का उपयोग करके टाइमर कैसे बनाया जाता है। यहां हम एक वर्ग बना रहे हैं जिसे बाद में कहा जाता है। इस वर्ग में निम्नलिखित गुण हैं।

  • int (कोड चलाने तक प्रतीक्षा करने के लिए मिलीसेकंड)
  • बूल (यदि यह सत्य है, तो यह तुरंत वापस आ जाता है, और निर्दिष्ट समय के बाद कोड को किसी अन्य थ्रेड पर चलाता है)
  • परिवर्तनीय तर्क (बिल्कुल हम std::bind को खिलाना चाहते हैं)

सटीकता को बदलने के लिए हम क्रोनो ::मिलीसेकंड को नैनोसेकंड या माइक्रोसेकंड आदि में बदल सकते हैं।

उदाहरण कोड

#include <functional>
#include <chrono>
#include <future>
#include <cstdio>
class later {
   public:
      template <class callable, class... arguments>
      later(int after, bool async, callable&& f, arguments&&... args){
      std::function<typename std::result_of<callable(arguments...)>::type()> task(std::bind(std::forward<callable>(f), std::forward<arguments>(args)...));
      if (async) {
         std::thread([after, task]() {
            std::this_thread::sleep_for(std::chrono::milliseconds(after));
            task();
         }).detach();
      } else {
         std::this_thread::sleep_for(std::chrono::milliseconds(after));
         task();
      }
   }
};
void test1(void) {
   return;
}
void test2(int a) {
   printf("result of test 2: %d\n", a);
   return;
}
int main() {
   later later_test1(3000, false, &test1);
   later later_test2(1000, false, &test2, 75);
   later later_test3(3000, false, &test2, 101);
}

आउटपुट

$ g++ test.cpp -lpthread
$ ./a.out
result of test 2: 75
result of test 2: 101
$

4 सेकंड के बाद पहला परिणाम। पहले वाले से तीन सेकंड के बाद दूसरा परिणाम


  1. JavaFX का उपयोग करके आर्क कैसे बनाएं?

    सामान्य तौर पर, चाप वक्र का एक छोटा खंड होता है। JavaFX में इसे javafx.scene.shape.Arc . द्वारा दर्शाया जाता है कक्षा। इस वर्ग में छह गुण हैं - centerX - यह गुण चाप के केंद्र के x निर्देशांक को दर्शाता है। आप setCenterX() . का उपयोग करके इस गुण के लिए मान सेट कर सकते हैं विधि। केंद्रY - यह गुण

  1. माइक्रोसॉफ्ट एक्सेस का उपयोग करके रिपोर्ट कैसे बनाएं

    एक रिपोर्ट एक संगठित प्रारूप में डेटा को सारांशित करने और प्रस्तुत करने के लिए उपयोग किया जाने वाला एक उपकरण है, जो आमतौर पर मुद्रित होता है। रिपोर्ट और फ़ॉर्म समान हैं, लेकिन प्रपत्रों का उपयोग डेटा को देखने, इनपुट करने और संपादित करने के लिए किया जाता है और रिकॉर्ड पर विस्तृत रूप प्रदान करता है और

  1. Microsoft प्रकाशक का उपयोग करके प्रमाणपत्र कैसे बनाएं

    ऐसे बहुत से लोग हैं जिन्हें आप कुछ महान कार्य करने के लिए धन्यवाद देना चाहते हैं। जिन व्यक्तियों ने कुछ किया हो और आप बधाई देना चाहते हैं। यह काम पर, स्कूल में, घर पर या कहीं भी हो सकता है, Microsoft Publisher इस अवसर के लिए कुछ है। प्रकाशक इन व्यक्तियों और अवसरों के लिए प्रमाण पत्र बनाने के लिए महा