<分区>
在std::thread
中:
- 线程创建时没有堆栈大小。
- 没有线程优先级。
为什么?这样的API有什么用?
这是线程概念的基础。
堆栈大小,为什么我们不关心内存?也许作者假设只有 Linux 和 Windows 具有分页内存和 64 位地址空间,但是没有分页内存的平台呢?
优先级,如何在没有优先级的情况下使任何系统具有可预测的时序?
<分区>
在std::thread
中:
为什么?这样的API有什么用?
这是线程概念的基础。
堆栈大小,为什么我们不关心内存?也许作者假设只有 Linux 和 Windows 具有分页内存和 64 位地址空间,但是没有分页内存的平台呢?
优先级,如何在没有优先级的情况下使任何系统具有可预测的时序?
最佳答案
因为每个 平台都必须提供 API。您仍然可以拥有针对没有线程的平台的 C++ 实现。
因为“堆栈”是一个实现细节。增加不一定存在的东西的大小是什么意思?
没有优先级时更改优先级是什么意思?
C++ 以抽象机为目标。一个实现将该抽象机器映射到目标机器(它可能本身是抽象的)。该标准非常努力地不限制它不需要的领域的实现。
std::thread
做 提供的是一个(完全由实现定义)native_handle
.这完全授权您以实现定义的方式执行实现定义的事情。
关于c++ - 为什么 std::thread 缺少基本功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51784212/