有谁能解释一下这个 boost create_thread 行吗?

Posted

技术标签:

【中文标题】有谁能解释一下这个 boost create_thread 行吗?【英文标题】:any can please explain me this boost create_thread line? 【发布时间】:2021-03-15 21:43:46 【问题描述】:

我在我的 repo 上实现了一个 github 提交,但我看到一行,但我不明白它的含义,这里是一行:

    threadGroup.create_thread(boost::bind(&BeeKeeper, boost::cref(chainparams)));

我了解 threadGroup,我知道它的用途和用途,我有一个名为 BeeKeeper() 的函数,所以我猜它正在调用该函数,但我没有得到 boost::cref,我没有一个名为chainparams 我只有一个名为 chainparams.h 的文件,这只是一个标签,用于创建具有该名称的线程还是它的用途?

谢谢。

【问题讨论】:

【参考方案1】:

标准::绑定。 boost::bind 等所有按值绑定参数。要通过引用,您需要用std::reference_wrapper 包装它们。

std::refstd::cref(或 boost 的等价物)是返回这些包装器的函数。

见If the stored argument arg is of type

所以你有一个名为chainparams 的变量,你通过引用传递给线程函数。

【讨论】:

根据您的回答,我在代码中搜索,是的,我找到了创建chainparams = Params() 的行。但是如果我没有一个包含变量的类,而我只有一个.h?那我该怎么办? 我在我的代码中找到了类似这样的名称:boost::thread(void(Shutdown)(void), NULL); 如果你要问这样的问题,你将不得不分享更多的代码。有链接吗?如果编译器满意,显然你确实拥有这些东西。如果不是,那可能是代码确实被破坏了。

以上是关于有谁能解释一下这个 boost create_thread 行吗?的主要内容,如果未能解决你的问题,请参考以下文章

请问有谁能解答一下Qt中信号槽的优势?

有谁能给我【NOIP2015】《跳石头》的暴力代码和二分代码以及其中算法思想的详细解释啊?

有谁可以帮帮忙,解决一下这个问题

有谁能告诉一下smp的意思

有谁能告诉我ps 找开以后出现"试图加载格式不正确的程序"是怎么回事?

javascript中的debugger是啥意思?