本文整理汇总了C++中Autowired::Stop方法的典型用法代码示例。如果您正苦于以下问题:C++ Autowired::Stop方法的具体用法?C++ Autowired::Stop怎么用?C++ Autowired::Stop使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Autowired
的用法示例。
在下文中一共展示了Autowired::Stop方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AutoCurrentContext
TEST_F(AutoInjectableTest, VerifySimpleThreadWait) {
// Immediate kickoff:
AutoCurrentContext()->Initiate();
// Make an injectable, run it, and stuff it right into a future:
AutoFuture future;
MakeInjectable<CoreThread>()(&future);
// Make a thread and then start it going:
Autowired<CoreThread> thread;
ASSERT_TRUE(thread.IsAutowired()) << "Thread was not injected by an injector as expected";
AutoRequired<std::mutex> barr;
{
std::lock_guard<std::mutex> lk(*barr);
// Add a lambda that we intentionally block:
*thread += [] {
Autowired<CoreThread> thread;
Autowired<std::mutex> barr;
ASSERT_TRUE(thread && barr) << "Failed to find a required type in the current context";
std::lock_guard<std::mutex> lk(*barr);
thread->Stop();
};
// Instant wait:
ASSERT_FALSE(future.WaitFor(std::chrono::nanoseconds(1))) << "Premature wait return on an injector-provided future";
}
// Now that the thread is unblocked, verify that it quits:
ASSERT_TRUE(future.WaitFor(std::chrono::seconds(5))) << "Wait failed to return on an injector-provided future";
}