gpt4 book ai didi

c++ - boost线程库的型号是什么

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:48:04 26 4
gpt4 key购买 nike

c++ boost线程库使用的线程模型是什么?
1:1(内核级线程)
N:1(用户级线程)
M:N(混合线程)

这些模型之间的区别(来自 wiki):http://en.wikipedia.org/wiki/Thread_(computing)#Models

我检查了 boost 站点,它没有提到它使用的线程模型。
我猜是 1:1,因为它没有提供 yieldreschedule 之类的功能,但我不确定...

最佳答案

它是 native 线程,即它会使用平台线程,至少在 Linux、Windows 和 Mac 中是这样。

据我所知,对于每个生成的线程,线程映射将与 Windows、Linux 和 MAC 中的内核线程成 1:1 比例。

我不确定对于其他平台是否可以用其他方式实现它,但我不知道有任何非内核线程实现使用 boost.thread API。

对于用户级的“线程”,协同多任务处理,可以使用 boost.coroutine。还有即将推出的 boost.fiber 库,它几乎类似于 boost.coroutine,但它添加了一个用户级“线程”(在库术语中是纤程)API 和一个用户级纤程调度程序。

  • 您可以找到 boost.fiber here .
  • 你可以找到 boost.coroutine here .

关于c++ - boost线程库的型号是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540532/

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