<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      一個基于配置文件構建有向無環(huán)圖,并多線程運行圖上節(jié)點的例子

      #include <iostream>
      #include <memory>
      #include <thread>
      #include <vector>
      
      class Node {
      public:
        virtual void show() = 0;
        virtual bool hasFinished() { return has_finished_; }
      
      protected:
        bool has_finished_ = false;
      };
      
      class A : public Node {
      public:
        void show() override {
          std::cout << "In A show()." << std::endl;
          has_finished_ = true;
        }
      };
      
      class B : public Node {
      public:
        void show() override {
          std::cout << "In B show()." << std::endl;
          has_finished_ = true;
        }
      };
      
      class C : public Node {
      public:
        void show() override {
          std::cout << "In C show()." << std::endl;
          has_finished_ = true;
        }
      };
      
      class D : public Node {
      public:
        void show() override {
          std::cout << "In D show()." << std::endl;
          has_finished_ = true;
        }
      };
      
      bool hasDependingNodesFinished(
          const std::vector<std::shared_ptr<Node>> &denpendingNodes) {
        for (const std::shared_ptr<Node> denpendingNode : denpendingNodes) {
          if (!(denpendingNode->hasFinished())) {
            return false;
          }
        }
        return true;
      }
      
      void runNode(const std::shared_ptr<Node> &node,
                   const std::vector<std::shared_ptr<Node>> &denpendingNodes) {
        while (!hasDependingNodesFinished(denpendingNodes)) {
          std::this_thread::sleep_for(std::chrono::seconds(1));
        }
        node->show();
      }
      
      std::vector<
          std::pair<std::shared_ptr<Node>, std::vector<std::shared_ptr<Node>>>>
      parseGraph() {
        std::shared_ptr<Node> a = std::make_shared<A>();
        std::shared_ptr<Node> b = std::make_shared<B>();
        std::shared_ptr<Node> c = std::make_shared<C>();
        std::shared_ptr<Node> d = std::make_shared<D>();
        std::vector<
            std::pair<std::shared_ptr<Node>, std::vector<std::shared_ptr<Node>>>>
            dependencies = {{a, {}}, {b, {}}, {c, {a, b}}, {d, {a, c}}};
        return std::move(dependencies);
      }
      
      int main(int argc, char *argv[]) {
        std::vector<
            std::pair<std::shared_ptr<Node>, std::vector<std::shared_ptr<Node>>>>
            graph = parseGraph();
        std::vector<std::thread> th;
        for (const auto &[nodeToRun, denpendingNodes] : graph) {
          th.push_back(std::thread(runNode, nodeToRun, denpendingNodes));
        }
        for (auto &t : th) {
          t.join();
        }
        return 1;
      }
      

        

      posted @ 2024-03-21 14:41  南鄉(xiāng)水  閱讀(25)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲欧美高清在线精品一区二区 | 天天爽夜夜爱| 免费一区二三区三区蜜桃| 婷婷六月色| 欧美亚洲高清日韩成人| 久久精品人成免费| 18禁黄无遮挡网站免费| 国产色一区二区三区四区| 人妻饥渴偷公乱中文字幕| 精品偷拍一区二区三区| 一区二区精品久久蜜精品| 国产永久免费高清在线观看 | 精品人妻中文字幕在线| 婷婷色香五月综合缴缴情香蕉| 伊人狠狠色丁香婷婷综合| 成人激情视频一区二区三区| 久久国产免费观看精品3| 国产午夜一区二区在线观看| 乐都县| 亚洲国产精品一二三四五| 另类专区一区二区三区| 成 人 色 网 站免费观看| 亚洲性一交一乱一伦视频| 中文字幕无码专区一VA亚洲V专| 亚洲欧美日韩在线不卡| 阿坝县| 国产成人亚洲综合图区| 乱女乱妇熟女熟妇综合网| 久久国产精品精品国产色| 中文字幕av无码一区二区蜜芽三区| 国产成人亚洲精品狼色在线 | 99re视频在线| 国产偷自视频区视频| 国产精品亚洲а∨天堂2021 | 在线精品亚洲区一区二区| 中国CHINA体内裑精亚洲日本| 欧美亚洲另类 丝袜综合网| 国产午夜精品一区二区三区不卡| 丝袜美腿亚洲综合在线观看视频| 亚洲一区三区三区成人久| 国产成人精品中文字幕|