本文整理汇总了C++中actor::get_strand方法的典型用法代码示例。如果您正苦于以下问题:C++ actor::get_strand方法的具体用法?C++ actor::get_strand怎么用?C++ actor::get_strand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类actor
的用法示例。
在下文中一共展示了actor::get_strand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: spawn
actor_id spawn(actor sire, F&& f, fiber_meta meta)
{
// Create actor handler.
actor_handler_t hdr(f);
// Generate actor_id.
auto aid = generate_actor_id();
// Spawn an coctx.
asev::strand_t snd(*evs_);
auto sire_aid = sire == nullactor ? nullaid : sire.get_actor_id();
if (sire_aid != nullaid && meta.ssire_)
{
snd = sire.get_strand();
}
snd.spawn(
[this, sire_aid, hdr, aid](asev::corctx_t& ctx)
{
// Alloc fiber_actor.
auto a = fiber_actor_pool_->get();
// Run actor.
a->init(aid, ctx.get_strand());
a->run(ctx, sire_aid, std::move(hdr));
},
coctx::make_stacksize(meta.ssize_)
);
return aid;
}