为什么并发 TS 的部分内容没有采用 C++17?

2024-03-09

根据黄明德 https://wongmichael.com/category/c/显然,尽管已完成,但并发 TS 并未进入

虽然有实现经验,但刚刚批准,太新鲜,无法投票添加到 C++17。

我最喜欢的提案最初是在N3327 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3327.pdf但我第一次读到它是在 N3857/N3784 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3784.pdf并预计 C++14 会出现这种情况。futures已经并实施了Boost 中的 .then() http://www.boost.org/doc/libs/1_53_0/doc/html/thread/synchronization.html#thread.synchronization.futures.then自 2013 年以来,Microsoft 已在 PPL 中实施了其中的一种形式,因此任何问题都会得到解决、讨论和纠正。异步版本.get()是必要的,似乎是从 2014 年初就决定了N3865 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3865.pdf('对 std::future 的更多改进') 说得好像.then()是既定的。这意味着即使 5 年后N3327 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3327.pdf首先提出了一个.then()由于“精简”,任何经过深思熟虑、讨论和实施的提案都会被与之无关的讨论所阻碍。

现在要到2020年才能发货了。

并发 TS 是一个完整的提案还是什么都没有?如果是这样,为什么?


现在要到2020年才能发货了。

正在发货now。只是 C++ 标准本身没有。

您不应该将 TS 视为某种虚构的文档。这是真实存在的,许多供应商都实现了 TS。例如,Microsoft 和 libc++ 支持 FileSystem TS。

随着 C++17 功能的完成,编译器和标准库供应商将全力以赴地实现这些功能。更不用说Concepts TS等等了。因此,并发 TS 不是他们的最高优先级也就不足为奇了。

至于为什么部分Concurrency没有添加到C++17中,杰克逊维尔会议纪要显示SG1(并发问题研究组)专门提议将Parallelism TS添加到标准中,但对于Concurrency TS并没有这样做。因此,他们显然认为 Concurrency TS 还没有准备好添加到标准库中,甚至部分添加到标准库中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么并发 TS 的部分内容没有采用 C++17? 的相关文章

随机推荐