当前位置: 首页 > news >正文

公司做网站的作用电气行业网站建设多少钱

公司做网站的作用,电气行业网站建设多少钱,上犹网站建设,官网制作需要多少钱Atomic(原子操作与原子整数#xff09; 前置知识AtomicIntegerTget()getAndAdd()getAndSet() 关于原子操作实现无锁队列(lock-free-queue) 前置知识 happens-before#xff1a; 用来描述两个操作的内存可见性 如果操作 X happens-before 操作 Y#xff0c;那么 X 的结果对于… Atomic(原子操作与原子整数 前置知识AtomicIntegerTget()getAndAdd()getAndSet() 关于原子操作实现无锁队列(lock-free-queue) 前置知识 happens-before 用来描述两个操作的内存可见性 如果操作 X happens-before 操作 Y那么 X 的结果对于 Y 可见 六种内存序 typedef enum memory_order {memory_order_relaxed, // relaxed不对执行顺序做保证memory_order_consume, // consume暂时不鼓励使用 memory_order_consumememory_order_acquire, // acquire本线程中,所有后续的读操作必须在本条原子操作完成后执行memory_order_release, // release本线程中,所有之前的写操作完成后才能执行本条原子操作memory_order_acq_rel, // acquire/release同时包含memory_order_acquire 和 memory_order_releasememory_order_seq_cst // sequentially consistent保证指令的顺序一致执行不打开编译器优化指令按照正常的指令序执行 } memory_order;gcc的原子操作__sync_不推荐使用这些原子操作gcc编译时要加上选项 -marchcpu-type bool __sync_bool_compare_and_swap (type *ptr, type oldval, type newval, ...) 比较*ptr与oldval的值如果相等则将newval更新到*ptr并返回truetype __sync_val_compare_and_swap (type *ptr, type oldval, type newval, ...) 比较*ptr与oldval的值如果相等则将newval更新到*ptr并返回操作之前*ptr的值type __sync_fetch_and_add (type *ptr, type value, ...)加,返回更新前的值type __sync_fetch_and_sub (type *ptr, type value, ...)减type __sync_fetch_and_or (type *ptr, type value, ...)或type __sync_fetch_and_and (type *ptr, type value, ...)与type __sync_fetch_and_xor (type *ptr, type value, ...)异或type __sync_fetch_and_nand (type *ptr, type value, ...)与非type __sync_add_and_fetch (type *ptr, type value, ...)返回更新后的值type __sync_sub_and_fetch (type *ptr, type value, ...)type __sync_or_and_fetch (type *ptr, type value, ...)type __sync_and_and_fetch (type *ptr, type value, ...)type __sync_xor_and_fetch (type *ptr, type value, ...)type __sync_nand_and_fetch (type *ptr, type value, ...) 原子操作__atomicC11后推荐使用内存序 type __atomic_add_fetch(type *ptr, type val, int memorder)type __atomic_sub_fetch(type *ptr, type val, int memorder)type __atomic_and_fetch(type *ptr, type val, int memorder)type __atomic_xor_fetch(type *ptr, type val, int memorder)type __atomic_or_fetch(type *ptr, type val, int memorder)type __atomic_nand_fetch(type *ptr, type val, int memorder)type __atomic_fetch_add(type *ptr, type val, int memorder)type __atomic_fetch_sub(type *ptr, type val, int memorder)type __atomic_fetch_and(type *ptr, type val, int memorder)type __atomic_fetch_xor(type *ptr, type val, int memorder)type __atomic_fetch_or(type *ptr, type val, int memorder)type __atomic_fetch_nand(type *ptr, type val, int memorder)type __atomic_load_n (type *ptr,int memorder);_n表示加不加字节序memordervoid__atomic_store_n (type *ptr, type val,int memorder);type __atomic_exchange_n (type *ptr, type val,int memorder);bool__atomic_compare_exchange_n (type *ptr, type *expected, type desired,bool weak, int success_memorder,int failure_memorder);bool __atomic_test_and_set (void *ptr, int memorder)原子地更改 obj 所指向的 atomic_flag 的状态为设置 true void __atomic_clear (bool *ptr, int memorder)void __atomic_thread_fence (int memorder)bool __atomic_always_lock_free (size_t size, void *ptr)bool __atomic_is_lock_free (size_t size, void *ptr) 谷歌规范const常量命名加kconst int kvalue 关于gcc的编译告警选项 AtomicIntegerT muduo::detail::AtomicIntegerT是noncopyable的派生类不可拷贝 class AtomicIntegerT : noncopyable类图 volatile T value_: 用于原子操作的value_值volatile表示直接从内存取不从寄存器取与该变量有关的运算不要进行编译优化以免出错所有其他成员函数都是通过get(), getAndAdd(), getAndSet()来实现的 get() T get() {// in gcc 4.7: __atomic_load_n(value_, __ATOMIC_SEQ_CST)return __sync_val_compare_and_swap(value_, 0, 0); }注意选项-marchcpu-type getAndAdd() T getAndAdd(T x) {// in gcc 4.7: __atomic_fetch_add(value_, x, __ATOMIC_SEQ_CST)return __sync_fetch_and_add(value_, x); }注意选项-marchcpu-type getAndSet() T getAndSet(T newValue) {// in gcc 4.7: __atomic_exchange_n(value_, newValue, __ATOMIC_SEQ_CST)return __sync_lock_test_and_set(value_, newValue); }注意选项-marchcpu-type 关于原子操作实现无锁队列(lock-free-queue) 无锁队列的实现
http://www.hkea.cn/news/14338737/

相关文章:

  • 上海做网站找谁成都网站营销seo电话
  • 南通优普网站建设团队黑龙江企业网站建设公司
  • 如何做属于自己的领券网站做教育网站的er图
  • 吉林省交通建设集团有限公司网站凌河网站建设推广
  • 贵州省建设厅网站多少wordpress 笔记
  • 免费自助开通网站外国人做中国数学视频网站
  • 汕尾市企业网站seo点击软件外贸网络推广是什么
  • 泰安网站开发公司网上开店的货源渠道有哪些
  • 有域名了也备案了怎么做网站网络热词排行榜
  • 手机网站自适应分辨率wordpress 备份主题
  • 宁波制作网站企业有哪些可以做微课PPT模板 网站
  • 湖州集团网站建设达州建设机械网站
  • php网站开发实例视频教程大专毕业设计怎么做
  • 深圳官方网站泰安房产最新网签情况
  • 做网站的天空网嘉兴丝绸大厦做网站的公司
  • 郑州做网站要多少钱个人网页免费域名注册入口
  • 纯html网站开发工具深圳网站建设 合作品牌
  • php网站开发环境一威海市网站建设
  • 母婴网站的功能设计招商网站开发
  • 建美食网站有哪些原因wordpress默认安装目录
  • php怎么创建网站什么是门户网站
  • 网站模板 免费下载杭州品牌网站设计制作公司
  • 学习网站建设论文阿里云做网站可以吗
  • 直播平台创建公会佛山网站建设乐云seo在线制作
  • 怎么做php网站深圳做网站建设和维护专员管理层
  • 潍坊seo建站谷歌优化技术
  • 企业管理的官方网站有哪些流感用什么药最好
  • 专做民宿预定的网站大兴模版网站开发公司哪家好
  • 您的网站对百度设置了ua封禁z怎么解决wordpress自动轮播图插件
  • 麻城网站建设公司虚拟商城平台