memory orders

memory_order_release 意为只有前面的语句都执行完后,这条语句才会执行。

memory_order_acquire 意为只有这条语句执行完之后,后面的语句才会执行。

memory_order_consume 和 memory_order_acquire 差不多,只是memory_order_acquire 与 memory_order_release 有一个同步操作,而 memory_order_consume 则只是把执行 load 的对象缓存在内存中,并没有同步语义。memory_order_consume 在多数的情况下的效率要高于 memory_order_acquire,因为多数编程器对其做了优化。

 
posted @ 2015-09-19 14:27  wu_overflow  阅读(144)  评论(0编辑  收藏  举报