闩(闩)
音shuān
【名】
(指事。从门,“一”象门闩形。本义:门上的横插)同本义(bolt;latch)。
闩,门横关也。——范成大《桂海虞衡志·杂志》。
又如:上闩;门闩
【动】
插上门闩(fastenwithabolt)。例:闩上门。
闩紧(bar)用门闩闩牢
例:闩紧大门
【计】数据库术语。
闩(latch)是轻量级的串行化设备,用于协调对共享数据结构、对象和文件的多用户访问。
闩就是一种锁,设计为只保持极短的一段时间(例如,修改一个内存中数据结构所需的时间)。
闩用于保护某些内存结构,如数据库块缓冲区缓存或共享池中的库缓存。
一般会在内部以一种“愿意等待”(willingtowait)模式请求闩。
这说明,如果闩不可用,请求会话会睡眠很短的一段时间,并在以后再次尝试这个操作。
还可以采用一种“立即”(immediate)模式请求其他闩,这与SELECTFORUPDATENOWAIT的思想很相似,说明这个进程会做其他事情(如获取另一个与之相当的空闲闩),而不只是坐而等待这个闩直到它可用。
由于许多请求者可能会同时等待一个闩,你会看到一些进程等待的时间比其他进程要长一些。
闩的分配相当随机,这要看运气好坏了。
闩释放后,紧接着不论哪个会话请求闩都会得到它。
等待闩的会话不会排队,只是一大堆会话在不断地重试。
Oracle使用诸如“测试和设置”(testandset)以及“比较和交换”(compareandswap)之类的原子指令来处理闩。
由于设置和释放闩的指令是原子性的,尽管可能有多个进程在同时请求它,但操作系统本身可以保证只有一个进程能测试和设置闩。
指令仅仅是一个指令而已,它执行得可能非常快。
闩只保持很短的时间,而且提供了一种清理机制,万一某个闩持有者在持有闩时异常地“死掉了”,就能执行清理。
这个清理过程由PMON执行。
队列锁(enqueue)在前面已经讨论过,这也是一种更复杂的串行化设备,例如,在更新数据库表中的行时就会使用队列锁。
与闩的区别在于,队列锁允许请求者“排队”等待资源。
对于闩请求,请求者会话会立即得到通知是否得到了闩。
而对于队列锁,请求者会话会阻塞,直至真正得到锁。
门闩和门拴的区别
1.门拴通常是指环状的装置,可以上锁,位于门的外部,用于锁定门。
2.门闩则是指棍状的构件,通常位于门的内部,可以左右移动。关门后,门闩会向中间滑动,插入另一扇门的缝隙中,从而从内部固定门,防止外部开启。
3.“闩”这个词形象地描述了可以左右移动的棍状结构,形状像“一”,就像一根木棍。
4.“门”字是汉语通用规范一级汉字。它的最早形式出现在商代的甲骨文和金文中,原始字形描绘了两扇大门。门的本义指的是房屋的外门,与内门“户”相对。
5.门作为出入房屋的必经之地,其概念也被扩展到途径、门第、家族,以及宗教或学术上的不同派别和类别。
6.从最简单的横木为门的街门,到装饰华丽的牌坊,再到帝王之门连阙,门的形态经历了从简陋到富丽的变化。
7.在中国古代,门户不仅是居所的重要组成部分,也象征着安全与安定。最早的住所是天然岩洞,而洞口覆盖的草盖可视为最初的“门”。
8.门在中国建筑中既是外檐装修的一部分,也是独立的建筑形态,如民居的门楼、寺庙的山门、城门楼子等。
9.中国传统建筑中的门钉、门神、石狮等元素,不仅具有实用和装饰功能,也承载着深厚的文化意义。
10.在节日期间,门上贴上象征吉祥的剪纸,如肥猪拱门,展现了门作为传统文化展示台的职能。
还没有评论,来说两句吧...