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

室内设计网站建设天津网站优化哪家好

室内设计网站建设,天津网站优化哪家好,更改wordpress代码,太白县住房和城乡建设局网站原子操作和自旋锁的区别 相同点都是保护共享资源。 不同点在于#xff1a; 原子操作简单易用#xff0c;但只能做计数操作#xff0c;保护的东西太少。 自旋锁主要用于多核处理器。短时期的轻量级加锁#xff0c;加锁失败时原地打转、忙等待。避免了上下文调度和系统开销较… 原子操作和自旋锁的区别 相同点都是保护共享资源。 不同点在于 原子操作简单易用但只能做计数操作保护的东西太少。 自旋锁主要用于多核处理器。短时期的轻量级加锁加锁失败时原地打转、忙等待。避免了上下文调度和系统开销较小。 自旋锁 加锁步骤 查看锁的状态 如果锁是空闲的将锁设置为当前线程持有 存在问题 在没有CAS函数前多个线程同时执行这两个步骤会出错。 解决方案 CAS函数把这两个步骤合并为一条硬件级指令。第1步的比较锁状态和第2步的锁变量赋值将变为不可分割的原子指令硬件同步原语 CAS函数 自旋锁使用CPU提供的CASCompare And Swap函数在用户态代码中完成加锁与解锁操作。 PAUSE指令 自旋锁并不一直忙等待会与CPU紧密耦合它通过CPU提供的PAUSE指令减少循环等待时的耗电量对于单核CPU忙等待并没有意义此时它会主动把线程休眠。 自旋锁原理 设自旋锁为变量lock整数0表示锁是空闲状态整数pid表示线程ID。 CAS(lock, 0, pid)表示自旋锁的加锁操作 CAS(lock, pid, 0)表示自旋锁的解锁操作 自旋锁伪代码 while (true) {//因为判断lock变量的值比CAS操作更快所以先判断lock再调用CAS效率更高if (lock 0 CAS(lock, 0, pid) 1){return;}if (CPU_count 1 ){ //如果是多核CPU“忙等待”才有意义for(n 1; n 2048; n 1){//pause的时间应当越来越长for (i 0; i n; i){pause();//CPU专为自旋锁设计了pause指令}if (lock 0 CAS(lock, 0, pid)){return;//pause后再尝试获取锁}}}sched_yield();//单核CPU或者长时间不能获取到锁应主动休眠让出CPU } 自旋锁相关API 定义自旋锁 spinlock_t s_lock ; 初始化自旋锁 int spin_lock_init(spinlock_t *lock); 获取自旋锁函数 //加锁 void spin_lock(spinlock_t *lock) 尝试获取自旋锁函数 尝试获取一次获取成功返回“true”,获取失败返回“false”。程序继续往下执行 与上面的区别就是非阻塞 int spin_trylock(spinlock_t *lock) 释放自旋锁 void spin_unlock(spinlock_t *lock);
http://www.hkea.cn/news/14391693/

相关文章:

  • 福建做网站的公司wordpress大气全屏主题
  • 庆阳网上车管所windows优化大师在哪里
  • 东莞网站建设求职简历织梦网站tag怎么做
  • asp企业网站管理系统游戏设计需要学什么专业
  • 大连网站建设外包公司做网站的公司都有哪些岗位
  • 哪个网站可以做翻译兼职中国十大门窗品牌排行榜
  • 口碑好的网站建设多少钱做空比特币网站
  • 易语言编程软件做网站优化网站专题
  • 可以上传数据的网站开发做网店装修的网站有哪些
  • 哪个浏览器可以看禁止网站台州网站推广技巧付费
  • 沈阳网站建设价格乐达网站建设
  • 网站公司用什么软件做网站网站kv如何做
  • 鲜花网站有关建设各大游戏网站
  • 做物流的可以在那些网站找客户广告留电话号的网站
  • 佛山网站建设app哪个网站是专做宝宝饭的
  • 做网站接单gif图片动态素材网站
  • 建站平台哪个最好灌南县规划局网站理想家园规划建设
  • 0基础网站建设教程卖游戏辅助的网站怎么建设
  • python3的网站开发谷歌网站管理员账号
  • 有什么建设网站的书籍百度竞价推广登录入口
  • 济南高新区 网站建设公司企业网站推广服务协议
  • 一个人完成网站建设安徽省高路建设有限公司网站
  • 移动网站二级域名m开头怎么做.net域名 可以做公司网站吗
  • 手机搭建电脑做的网站素材网
  • 免费网站搭建怎么利用公司网站开发客户
  • 做视频分享网站的参考书怎么做购物型网站
  • 深圳公司的网站设计平台推广方式方法是什么
  • wordpress建站过时了如东城乡建设局网站
  • 多多卡起货网站建设网站制作的软件
  • 广州哪家做网站还可以买了域名后怎么建网站