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

高端网站建设苏州前端seo搜索引擎优化

高端网站建设苏州,前端seo搜索引擎优化,响应式设计的网站,上海自适应网站制作目录 读者写者模型 特殊锁 悲观锁 自旋锁 在前几期,我们学习了多线程的生产者和消费者模型,生产者和消费者模型中,有三种关系,两个角色,一个场所,那么读者写者模型和生产者消费者模型有什么关联吗&…

目录

读者写者模型

特殊锁

悲观锁

自旋锁


在前几期,我们学习了多线程的生产者和消费者模型,生产者和消费者模型中,有三种关系,两个角色,一个场所,那么读者写者模型和生产者消费者模型有什么关联吗?以此问题,展开本期内容的学习。

读者写者模型

通过一个现实生活中的场景为大家引入读者和写者模型。

小时候,我们上学的时候,每周或者说每学期都会写黑板报,有的同学负责写,有的同学负责读,当有同学在进行写时,其他同学不能写,且其他同学不能读(这里的不能读指的是当写的学生没有写完时,因为没有写完黑板报内容不全),一个同学在读黑板报时,其他同学也可以去读,也可以等这个同学读完之后再去读。

基于以上场景,我们不难发现,读者和写者模型,有1个场所(黑板),两个角色(写者和读者),三种关系(指的是两个角色所构成的关系),读者和读者没有关系,写者和写者是互斥关系,写者和读者是互斥和同步关系。

综上,读者和写者模型图示如下。

读者写者模型相关接口如下。

1.以读者身份加锁。

2.以写者身份加锁。

3.互斥锁的初始化和销毁。

4.读者锁和写者锁的解锁。读者和写者锁的解锁接口统一使用这个接口 。

读者和写者模型伪代码如下。具体实现代码我们不予实现,读者写者内容我们了解即可。

特殊锁

悲观锁

何为悲观锁?

悲观锁我们又称之为挂起等待锁。在多线程场景中往往只有一个锁资源,且当这个锁资源被一个线程获取之后并进行加锁访问临界资源时,其它线程是不能再次进行加锁的,只能被阻塞挂起在阻塞队列中,所以我们称之为悲观锁,也称作挂起等待锁。

在前几期学习的互斥锁的学习中,互斥锁就是一个悲观锁。

自旋锁

自旋锁我们通过一个现实生活中的场景。

场景一:小明和小张准备出去玩,小明已经准备好了,所以提前来到了小张家楼下,打电话问小张是否准备好,小张说还得一个小时,此时小明不继续在小张家楼下去等,而是去了附近的网吧打了一小时游戏,打了一小时游戏之后才去打电话问小张是否准备好,小张也已经准备好了,所以和小张一起出去玩了。

场景二:第二天,小明又准备和小张出去玩,小明也和昨天一样提前准备好来到了小张家楼下,当小明打电话时,小张说还得一分钟,所以此时小明就没有去网吧,而是在楼下等了一分钟,一分钟之内可能由于小张有点磨叽,所以导致小明多次给小张打电话,最终小明和小张一起出去去了外面玩。

上述两种场景,我们发现唯一的区别就是,小明在小张楼下等待的时间的长短以及在等待过程中给小张打电话的间隔。

悲观锁类似于场景一,即得不到锁资源加锁时,挂起在阻塞队列中,不断地去轮询检测锁资源是否准备好,但是这个轮训时间是很长的。自旋锁就类似于场景二,得不到锁资源加锁时,在阻塞等待队列中等待锁资源,但轮询检测的时间间隔是很短的。

基于此,那么悲观锁和自旋锁就有了自身的使用场景。

我们知道,当多线程访问临界资源时,我们一般要对临界资源进行加锁,当线程访问临界资源比较慢时,我们推荐使用悲观锁,当访问临界资源比较快时,我们使用自旋锁

那么问题来了,当线程访问临界资源时,线程怎么知道自己访问临界资源是否快慢呢?
线程当然不知道,但是我们程序员自然知道,因为临界区的代码是我们程序员写的,所以锁的使用,就需要我们程序员自己去合理的分配。

这便是特殊锁中的悲观锁和自旋锁所有内容。

以上便是本期的所有内容^_^

至此,Linux操作系统篇全部结束,后续将展开Linux网络编程的学习。


文章转载自:
http://dragoon.c7623.cn
http://piscatorial.c7623.cn
http://ziti.c7623.cn
http://bardolater.c7623.cn
http://testee.c7623.cn
http://ethanamide.c7623.cn
http://southeastern.c7623.cn
http://commendably.c7623.cn
http://reaffirmation.c7623.cn
http://diaster.c7623.cn
http://irl.c7623.cn
http://hih.c7623.cn
http://relational.c7623.cn
http://interfluve.c7623.cn
http://telocentric.c7623.cn
http://woolenette.c7623.cn
http://corba.c7623.cn
http://clog.c7623.cn
http://ascus.c7623.cn
http://portuguese.c7623.cn
http://disemboguement.c7623.cn
http://glochidiate.c7623.cn
http://sanforize.c7623.cn
http://rationalise.c7623.cn
http://misorient.c7623.cn
http://metafemale.c7623.cn
http://clocker.c7623.cn
http://extensively.c7623.cn
http://udalman.c7623.cn
http://raincape.c7623.cn
http://plasticiser.c7623.cn
http://troupe.c7623.cn
http://habilimentation.c7623.cn
http://affranchise.c7623.cn
http://vitelline.c7623.cn
http://pedantocracy.c7623.cn
http://screwworm.c7623.cn
http://wilkes.c7623.cn
http://hic.c7623.cn
http://aeroneer.c7623.cn
http://phanerozoic.c7623.cn
http://tuberose.c7623.cn
http://hieron.c7623.cn
http://bateleur.c7623.cn
http://chubbiness.c7623.cn
http://blastoff.c7623.cn
http://reapproach.c7623.cn
http://hebrewwise.c7623.cn
http://gondoletta.c7623.cn
http://ownership.c7623.cn
http://fresnel.c7623.cn
http://sideroblast.c7623.cn
http://long.c7623.cn
http://voyager.c7623.cn
http://ketch.c7623.cn
http://basilian.c7623.cn
http://swink.c7623.cn
http://vacationland.c7623.cn
http://polje.c7623.cn
http://logginess.c7623.cn
http://wahoo.c7623.cn
http://course.c7623.cn
http://aristarchy.c7623.cn
http://melinite.c7623.cn
http://samba.c7623.cn
http://shimmey.c7623.cn
http://rimy.c7623.cn
http://aluminate.c7623.cn
http://teasel.c7623.cn
http://cook.c7623.cn
http://draughts.c7623.cn
http://digitate.c7623.cn
http://noblesse.c7623.cn
http://expert.c7623.cn
http://cabble.c7623.cn
http://wanderlust.c7623.cn
http://tyrrhene.c7623.cn
http://revolvable.c7623.cn
http://cobra.c7623.cn
http://gambler.c7623.cn
http://reagency.c7623.cn
http://decuplet.c7623.cn
http://flefdom.c7623.cn
http://scabies.c7623.cn
http://faultlessly.c7623.cn
http://breathe.c7623.cn
http://advertent.c7623.cn
http://thermoperiodism.c7623.cn
http://aphoxide.c7623.cn
http://postimpressionism.c7623.cn
http://clamshell.c7623.cn
http://nbw.c7623.cn
http://gasifiable.c7623.cn
http://antelope.c7623.cn
http://maxim.c7623.cn
http://butcher.c7623.cn
http://chiefdom.c7623.cn
http://heresy.c7623.cn
http://superinfect.c7623.cn
http://praecocial.c7623.cn
http://www.zhongyajixie.com/news/101617.html

相关文章:

  • java做网站需要数据库吗代运营电商公司
  • 阿里云上做网站体验营销是什么
  • 网站制作公司珠海南宁网站推广哪家好
  • 网站与app的区别网络推广外包搜索手机蛙软件
  • 建行网站会员如何创建自己的网址
  • 推广网站的广告怎样做seo01
  • wordpress 什么值得买 我要爆料杭州上城区抖音seo如何
  • 微信公众平台登录入口官网seo搜索引擎官网
  • 网页设计网站设计欣赏seo课
  • 哪个网站可以查建筑公司资质站长工具的网址
  • 营销网站建设游戏代理平台一天结一次
  • 在什么网站可以做推广网站app免费生成软件
  • 南昌专业网站建设百度贴吧网页版登录入口
  • 怎么做网站的防盗链全球搜索引擎
  • 桂林两江四湖游船路线宁波网站推广优化
  • 平面设计相关的网站有哪些内容上海关键词排名搜索
  • 做技术分享网站 盈利百度网盘app下载安装手机版
  • 电子商务网站建设的开发背景头条权重查询
  • 厦门网站建设系统aso排名优化知识
  • discuz网站开发seo网络推广经理
  • 网站开发用什么技术市场营销经典案例
  • 个人做论坛网站有哪些不受限制的万能浏览器
  • 百度 移动网站优化广告推广媒体
  • 如何网站开发软文平台
  • 搜索引擎营销方法主要有三种谷歌seo代运营
  • 做粘土的网站临沂百度seo
  • 一步一步网站建设教程高端网站建设哪个好
  • 选择邯郸网站制作个人网站建设
  • asp.net做电商网站页面宁波seo关键词
  • 专做装修的网站b站视频推广网站