luk*_*keg 4 c++ transactional-memory c++17
C++ 17的事务性内存提议的当前状态是什么.是否会包含在标准中,旨在包含在标准C++的某些未来版本中,或者仅仅是一个实验性的概念验证功能,其标准化状态仍未确定?
我问,因为一些标准化委员会的文件似乎在这里提供了相互矛盾的沟通.一方面,我们有P0265R0(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0265r0.pdf)说交易记忆不会标准化,另一方面手 - 有一篇由Stroustrup撰写的N4492论文(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4492.pdf),其中的事务内存列在C++ 17功能列表中.
足够短:事务存储器TS已经发布,正在开发第二个版本.但是,委员会并不打算将其纳入近期特征的标准中.这种选择有几个原因:
没有足够的实施经验.自GCC6以来,只有g ++实现它.TS的目标部分是为了收集实现和用户体验,所以这样一个大功能仍然太"不成熟".
并非每个目标都支持事务性内存,并且它具有很高的实现成本,而不是每个人都需要它.由于这些原因,委员会显然不确定TS是否应该成为主要C++标准的一部分.它可能永远像TS一样生活.
此外,并非所有人都认为事务存储器TS的每个功能都值得包含在主C++标准中.有些人发现这synchronized是主要特征,而另一些人认为原子块是真正的游戏改变者.TS 确实增加了库实现者必须处理的另一个认知开销(以及一些通常不被视为好事的新关键字).