当前位置: 首页>>代码示例>>C++>>正文


C++ ManualExecutor::run方法代码示例

本文整理汇总了C++中ManualExecutor::run方法的典型用法代码示例。如果您正苦于以下问题:C++ ManualExecutor::run方法的具体用法?C++ ManualExecutor::run怎么用?C++ ManualExecutor::run使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ManualExecutor的用法示例。


在下文中一共展示了ManualExecutor::run方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: via

TEST(ViaFunc, isSticky) {
  ManualExecutor x;
  int count = 0;

  auto f = via(&x, [&]{ count++; });
  x.run();

  f.then([&]{ count++; });
  EXPECT_EQ(1, count);
  x.run();
  EXPECT_EQ(2, count);
}
开发者ID:SamSaffron,项目名称:DiscourseMobile,代码行数:12,代码来源:ViaTest.cpp

示例2:

TEST(ManualExecutor, runIsStable) {
  ManualExecutor x;
  size_t count = 0;
  auto f1 = [&]() { count++; };
  auto f2 = [&]() { x.add(f1); x.add(f1); };
  x.add(f2);
  x.run();
}
开发者ID:lamoreauxdy,项目名称:coral,代码行数:8,代码来源:ExecutorTest.cpp

示例3: foo

TEST(Via, then2Variadic) {
  struct Foo { bool a = false; void foo(Try<Unit>) { a = true; } };
  Foo f;
  ManualExecutor x;
  makeFuture().then(&x, &Foo::foo, &f);
  EXPECT_FALSE(f.a);
  x.run();
  EXPECT_TRUE(f.a);
}
开发者ID:SamSaffron,项目名称:DiscourseMobile,代码行数:9,代码来源:ViaTest.cpp

示例4: while

TEST(Via, viaRaces) {
  ManualExecutor x;
  Promise<Unit> p;
  auto tid = std::this_thread::get_id();
  bool done = false;

  std::thread t1([&] {
    p.getFuture()
      .via(&x)
      .then([&](Try<Unit>&&) { EXPECT_EQ(tid, std::this_thread::get_id()); })
      .then([&](Try<Unit>&&) { EXPECT_EQ(tid, std::this_thread::get_id()); })
      .then([&](Try<Unit>&&) { done = true; });
  });

  std::thread t2([&] {
    p.setValue();
  });

  while (!done) x.run();
  t1.join();
  t2.join();
}
开发者ID:SamSaffron,项目名称:DiscourseMobile,代码行数:22,代码来源:ViaTest.cpp


注:本文中的ManualExecutor::run方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。