gpt4 book ai didi

c++ - boost::signals 插槽是同步调用还是异步调用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:42 26 4
gpt4 key购买 nike

谁能告诉我 boost::signals 插槽是同步调用还是异步调用?

例如我有这段代码:

struct Hello
{
void operator()() const
{
std::cout << "Hello ";
}
};

struct World
{
void operator()() const
{
std::cout << " world!" << std::endl;
}
};

boost::signal<void ()> sig;

sig.connect(Hello());
sig.connect(World());

sig();

cout << "Foo";

执行线程是如何工作的?执行是等待 Hello()World() 执行,然后才打印 "Foo" 还是异步调用它们(打印“Foo”并调用 Hello()World() 以未定义的顺序执行)?

最佳答案

Boost.Signals插槽被同步调用,并且连接到同一信号的插槽按照它们被添加的顺序被调用。线程安全变体也是如此,Boost.Signals2

关于c++ - boost::signals 插槽是同步调用还是异步调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com