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

深圳做英文网站的公司wordpress 连接微博专业版

深圳做英文网站的公司,wordpress 连接微博专业版,2345网址导航网址,网站开发设计合同当内核发生访问资源冲突的时候#xff0c;可以有两种锁解决方案#xff1a; 1.原地等待 2.挂起当前进程#xff0c;调度其它进程执行 spinklock 是内核中提供的一种比较常见的锁机制#xff0c;自旋锁是“原地等待” 的方式解决资源冲突的#xff0c;即#xff0c;一个…当内核发生访问资源冲突的时候可以有两种锁解决方案 1.原地等待 2.挂起当前进程调度其它进程执行 spinklock 是内核中提供的一种比较常见的锁机制自旋锁是“原地等待” 的方式解决资源冲突的即一个线城获取看一个自旋锁后另外一个线程期望获取该自旋锁获取不到只能够原地“打转” 忙等待。 由于自旋锁的这个忙等待的特性注定了它的使用场景的限制-------自旋锁不应该被长时间的持有消耗CPU资源一般应用在中断上下文。 什么情况用什么锁 获得自旋锁和释放自旋锁有好几个版本因此让读者知道在什么样的情况下使用什么版本的获得和释放 锁的宏是非常必要的。 如果被保护的共享资源只在进程上下文访问和软中断上下文访问那么当在进程上下文访问共享资源 时可能被软中断打断从而可能进入软中断上下文来对被保护的共享资源访问因此对于这种情况 对共享资源的访问必须使用spin_lock_bh和spin_unlock_bh来保护。当然使用spin_lock_irq和 spin_unlock_irq以及spin_lock_irqsave和spin_unlock_irqrestore也可以它们失效了本地硬中断失 效硬中断隐式地也失效了软中断。但是使用spin_lock_bh和spin_unlock_bh是最恰当的它比其他两个 快。 如果被保护的共享资源只在进程上下文和tasklet或timer上下文访问那么应该使用与上面情况相同的获 得和释放锁的宏因为tasklet和timer是用软中断实现的。 如果被保护的共享资源只在一个tasklet或timer上下文访问那么不需要任何自旋锁保护因为同一个 tasklet或timer只能在一个CPU上运行即使是在SMP环境下也是如此。实际上tasklet在调用 tasklet_schedule标记其需要被调度时已经把该tasklet绑定到当前CPU因此同一个tasklet决不可能同 时在其他CPU上运行。timer也是在其被使用add_timer添加到timer队列中时已经被帮定到当前CPU 所以同一个timer绝不可能运行在其他CPU上。当然同一个tasklet有两个实例同时运行在同一个CPU就更 不可能了。 如果被保护的共享资源只在两个或多个tasklet或timer上下文访问那么对共享资源的访问仅需要用 spin_lock和spin_unlock来保护不必使用_bh版本因为当tasklet或timer运行时不可能有其他 tasklet或timer在当前CPU上运行。如果被保护的共享资源只在一个软中断tasklet和timer除外上下 文访问那么这个共享资源需要用spin_lock和spin_unlock来保护因为同样的软中断可以同时在不同 的CPU上运行。 如果被保护的共享资源在两个或多个软中断上下文访问那么这个共享资源当然更需要用spin_lock和 spin_unlock来保护不同的软中断能够同时在不同的CPU上运行。 如果被保护的共享资源在软中断包括tasklet和timer或进程上下文和硬中断上下文访问那么在软中 断或进程上下文访问期间可能被硬中断打断从而进入硬中断上下文对共享资源进行访问因此在 进程或软中断上下文需要使用spin_lock_irq和spin_unlock_irq来保护对共享资源的访问。而在中断处理 句柄中使用什么版本需依情况而定如果只有一个中断处理句柄访问该共享资源那么在中断处理句 柄中仅需要spin_lock和spin_unlock来保护对共享资源的访问就可以了。因为在执行中断处理句柄期 间不可能被同一CPU上的软中断或进程打断。但是如果有不同的中断处理句柄访问该共享资源那么 需要在中断处理句柄中使用spin_lock_irq和spin_unlock_irq来保护对共享资源的访问。 在使用spin_lock_irq和spin_unlock_irq的情况下完全可以用spin_lock_irqsave和 spin_unlock_irqrestore取代那具体应该使用哪一个也需要依情况而定如果可以确信在对共享资源访 问前中断是使能的那么使用spin_lock_irq更好一些因为它比spin_lock_irqsave要快一些但是如果 你不能确定是否中断使能那么使用spin_lock_irqsave和spin_unlock_irqrestore更好因为它将恢复 访问共享资源前的中断标志而不是直接使能中断。当然有些情况下需要在访问共享资源时必须中断失 效而访问完后必须中断使能这样的情形使用spin_lock_irq和spin_unlock_irq最好。
http://www.zqtcl.cn/news/32989/

相关文章:

  • 苏州网站建设苏州南通网站搜索引擎优化
  • 网站空间大小有什么用执念待重生wordpress
  • 网站建设图片大全网页美工设计教学
  • 网站被域名重定向网络架构方法
  • 可以做淘宝推广的网站吗如何做网站的充值功能
  • 做网站 域名 最快要多久项目投资
  • 浙江网站开发工程师广州最好的网站建设
  • 做试试彩网站新泰州人才网最新招聘2022
  • 顺德建设行政主管部门网站做网络推广有哪些平台
  • 网站备案有什么坏处月子会所 网站源码
  • 帝国网站程序网站建设动态页面修改删除
  • 电信备案网站打不开视频网站怎么做动图
  • 青海媒体网站建设公司整站系统
  • 做长老环的网站源码下载网
  • 手机网站建设网站好的门户网站
  • 自己做网站网站资源哪里来在线制作动态图片自动生成
  • 关于机场建设的网站在猪八戒网站如何做兼职
  • 常州建设网站代理商温州网站优化搜索
  • 静安区品牌网站建设厦门网站建设推广哪家好
  • 新民电子网站建设哪家好天眼查官网在线查询
  • 网站代码查询什么网上平台可以找客源
  • 想自己做个网站it培训机构一般多少钱
  • 电子商务电商网站设计东莞seo排名公司
  • 巴彦淖尔网站网站建设建材网站模板
  • 做门窗五金的网站万网 填写网站备案信息
  • 建设培训学校网站广告创意设计与制作
  • 苏州市相城区住房和城乡建设局网站html5营销网站建设
  • 百度蜘蛛开发网站做app网站的软件叫什么名字
  • 哪个做网站公司唐山建设招聘信息网站
  • 莱州网站建设费用用php做商城网站的设计论文