本文整理汇总了C++中Baton::try_wait_for方法的典型用法代码示例。如果您正苦于以下问题:C++ Baton::try_wait_for方法的具体用法?C++ Baton::try_wait_for怎么用?C++ Baton::try_wait_for使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Baton
的用法示例。
在下文中一共展示了Baton::try_wait_for方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST_F(EventBaseThreadTest, self_move) {
EventBaseThread ebt0;
auto ebt = std::move(ebt0);
EXPECT_NE(nullptr, ebt.getEventBase());
Baton<> done;
ebt.getEventBase()->runInEventBaseThread([&] { done.post(); });
ASSERT_TRUE(done.try_wait_for(seconds(1)));
}
示例2: ebt
TEST_F(EventBaseThreadTest, example) {
EventBaseThread ebt(true, nullptr, "monkey");
Baton<> done;
ebt.getEventBase()->runInEventBaseThread([&] {
EXPECT_EQ(getCurrentThreadName().value(), "monkey");
done.post();
});
ASSERT_TRUE(done.try_wait_for(seconds(1)));
}
示例3: poller
TEST_F(FilePollerTest, TestUpdateFile) {
createFile();
Baton<> baton;
bool updated = false;
FilePoller poller(milliseconds(1));
poller.addFileToTrack(tmpFile, [&]() {
updated = true;
baton.post();
});
updateModifiedTime(tmpFile);
ASSERT_TRUE(baton.try_wait_for(seconds(5)));
ASSERT_TRUE(updated);
}
示例4: EventBaseThread
TEST_F(EventBaseThreadTest, move) {
auto ebt0 = EventBaseThread();
auto ebt1 = std::move(ebt0);
auto ebt2 = std::move(ebt1);
EXPECT_EQ(nullptr, ebt0.getEventBase());
EXPECT_EQ(nullptr, ebt1.getEventBase());
EXPECT_NE(nullptr, ebt2.getEventBase());
Baton<> done;
ebt2.getEventBase()->runInEventBaseThread([&] { done.post(); });
ASSERT_TRUE(done.try_wait_for(seconds(1)));
}