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

设计网站价格表一个网站怎么做pc和移动端

设计网站价格表,一个网站怎么做pc和移动端,wordpress 群发消息,mysql php wordpress(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 首先是这几种锁的不同与介绍:Mutex锁、读写锁、线程可重入锁。 Mutex读锁 Mutex锁,有加锁状态、未加锁两种状态; [未加锁状态]时,任一线程申请锁后,该锁进入[…

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)

首先是这几种锁的不同与介绍:Mutex锁、读写锁、线程可重入锁。

Mutex读锁

Mutex锁,有加锁状态、未加锁两种状态;
[未加锁状态]时,任一线程申请锁后,该锁进入[加锁状态];
[加锁状态]时,进程内的所有线程再申请锁时均需要等待,需要等该锁释放后,才能再申请到锁;
在这里插入图片描述

RWLock读写锁

ReadWriteMutex读写锁,有加写锁状态、加读锁状态、未加锁三种状态;
[未加锁状态]时,任一线程申请读锁后,该锁进入[加读锁状态];
[未加锁状态]时,任一线程申请写锁后,该锁进入[加写锁状态];
[加读锁状态]时,任一线程申请读锁时,申请返回成功,该锁锁状态不变;
[加读锁状态]时,任一线程申请写锁时,申请等待,需要等该读锁释放后,才能申请到写锁;
[加写锁状态]时,任一线程申请读锁时,申请等待,需要等该读锁释放后,才能申请到读锁;
[加写锁状态]时,任一线程申请写锁时,申请等待,需要等该读锁释放后,才能再申请到写锁;
在这里插入图片描述

ThreadMutex重入线程锁

ThreadMutex锁,有加锁状态、未加锁两种状态;
[未加锁状态]时,任一线程申请锁后,该锁进入[加锁状态];
[加锁状态]时,该申请到锁的线程下,再次申请该锁时,申请返回成功,该锁锁状态不变;
[加锁状态]时,非该申请到锁的线程,申请加锁时,申请等待,需要等该线程锁释放后,才能再申请到锁;
在这里插入图片描述

使用问题

无论Mutex锁,还是读写锁,还是线程锁。
都存在着,当某个状态加锁时,另一个处申请该锁需要等待的情况,
例如Mutex的加锁情况;
例如读写锁的写锁状态时,或者读取状态申请写锁时;
例如线程锁的其它线程申请锁状态时;
只要存在等待另一个锁释放,那么一旦在某些情况下,该锁占用的周期长了,其它hang住的时间就会长,这个对于高并发系统来说就不容易忍受的。

如何设计高并发系统的锁

怎么设计高并发系统呢?
对于使用锁的情况,我觉得核心点还是,快进快出,申请锁可以,快速用完快速归还;
不要持有锁过长;
不要在持有锁的时候做耗时长的事情;
不要在持有锁的时候做IO操作,无论少量还是大量;
不要在持有锁的时候做大量的计算操作;
不要在持有锁的时候做大量的内存申请释放操作;

如果需要计数,可以直接用std::atomic,快进快出,就一个变量的加锁时间,符合上面的要求;
如果需要唯一进入条件的话,也可以用bool型的std::atomic::compare_exchange_strong,来做唯一进入某个处理的限定;
这些方法都是用轻量级的快进快出加锁解锁的atomic来替代不可预期加锁时长的mutex。

所以总体来看,让加锁快进快出,是高并发系统加锁设计的核心。
当然了,如果可以通过数据结构,设计出无锁设计,那也是相当好的,“无招胜有招”。

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)

http://www.dtcms.com/wzjs/562651.html

相关文章:

  • 我想自己建立一个网站同城58招聘信息
  • 中学生做网站建一个网上商城需要多少钱
  • 网站商务通js代码采购平台app
  • 重庆综合网站建设配件自己做购物网站
  • 做旅游攻略的网站好网站备案是一年一次吗
  • 做外贸仿牌网站成都网站建设-中国互联
  • 汕头网站搭建多少钱上海人才服务网
  • 产品网站更新内容百度一下首页百度
  • 建设公司网站的意义微信公众号营销
  • 计科专业毕设做网站哪个省份网站建设便宜
  • 邓亚萍20亿做网站外贸网站建站要多少钱
  • 学校信息门户网站建设关注公众号一单一结兼职
  • 好的网站具备中小企业网站建设行情
  • 网站地图怎样做响应式网站建设服务
  • 天津网站建设公司推荐h5制作步骤
  • 建筑网站设计方案什么样的笔记本电脑适合网站开发
  • 自己买服务器建设网站建筑信用信息查询平台
  • 陶瓷 网站模板wordpress 主题无法更换
  • 做查询系统网站做网站如何容易被百度抓取
  • 亚网站建设网站空间域名注册
  • 沈阳城市建设学院网站php招生网站开发
  • 静态网页模板 网站模板如何创新网站建设模式
  • 网站空间推荐东莞市公司网站建设
  • 成都网站建设司做网站页面该建多大的画布
  • 有什么网站可以做跳转连接的wordpress搜索页面怎么仿
  • 绵阳做手机网站密云富阳网站建设
  • 公司网站建设有哪些wordpress中文语言包下载地址
  • 网站制作设计正规公司建设通网站的信息是哪里来的
  • 十堰网站建设价格湖州设计公司有哪些
  • 环保网站设计旅游网页设计源代码