performance - 什么是 "split mutex"?

标签 performance memory-management

它与性能和内存问题有什么关系? AIX 上的问题比 Solaris 或 Windows 更重要吗?

最佳答案

互斥锁只是一个锁。就像一个手提箱上的锁——确保一次只有一个人使用它。互斥有很多种类型,您应该查看操作系统:Andrew S. Tanenbaum 的设计和实现或osdev.org 以获得更好的概述。 .我以前从未听说过“拆分互斥锁”,而 Google 什么也不返回。但是,术语“拆分”表明它是共享的,因此不会相互排斥(portapotty 中有多个人),这不太合理。

通常您不必担心互斥,除非您正在设计操作系统或设备驱动程序。并且它们影响性能的唯一方式是其他进程对被锁定的资源的需求是否很高(即 portapotty 有大量队列)。

除非你有一些情有可原的情况,如 SMP 等。最好让操作系统来决定如何处理互斥体和资源,因为这就是它的目的。

很抱歉我无法提供更多帮助。我对“拆分”互斥体一无所知。如果它特定于 AIX,您可能需要查看 IBM 手册,否则可能会在一些 IEEE 研究论文中找到一些内容。

更新:经过进一步调查,这似乎是一个常见的案例优化案例。互斥锁被“拆分”为两种情况:1) 不需要任何特殊情况的常见情况,可以假设一些安全检查或绕过称为快速路径的内核函数或 2) 我们不能假设检查通过或不能做某些事情优化,称为慢路径。 Amdahl 定律通常用于量化此类案例优化。

关于performance - 什么是 "split mutex"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/789511/

相关文章:

java - 原始数组的现代 for 循环

Azure 服务总线 一个订阅 VS 多个订阅

python - cProfile.run 函数调用与复杂性

java - ArrayList<E>.clear() 的用处?

Android Media Player 挂起或返回 null

iphone - 在后台线程上解除分配

sql-server - 如何解决sql server性能问题

performance - 如何有效地增加 IIS 7 中应用程序池的内存和缓存大小

c - 使用带有动态数组的结构指针的内存分配 (realloc) 时出错

c++ - 原始类型动态分配数组的析构函数?