繁体   English   中英

sig_atomic_t和std :: atomic <>是否可以互换?

[英]Are sig_atomic_t and std::atomic<> interchangable?

按照标题。 我可以在信号处理程序中使用std::atomic<>还是sig_atomic_t提供其他编译器功能?

n3376 1.9 / 6

当抽象机的处理由于接收到信号而中断时,既不是

—类型为volatile std :: sig_atomic_t或

—无锁原子对象(29.4)

在信号处理程序执行期间未指定,并且未通过处理程序修改的这两个类别中任一类别的任何对象的值都将变为未定义。

无锁29.4 / 1,2

ATOMIC _..._ LOCK_FREE宏指示相应原子类型的无锁属性,其中有符号和无符号变体组合在一起。 这些属性也适用于原子模板的相应(部分)专业化。 值为0表示这些类型永远不会无锁。 值为1表示这些类型有时是无锁的。 值为2表示类型始终是无锁的。

函数atomic_is_lock_free (29.6)指示对象是否无锁。 在任何给定的程序执行中,对于相同类型的所有指针,无锁查询的结果应保持一致。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM