【问题标题】:Boost mutexes and semaphores on disk or in memory?在磁盘或内存中提升互斥量和信号量?
【发布时间】:2011-07-08 06:46:11
【问题描述】:

我想知道 Boost 互斥锁和信号量是否在磁盘上存储任何信息,或者是否有避免这种情况的选项(例如,将数据存储在内存块中)。

我关心这个细节,既是出于性能原因,也是为了避免过早扔掉我的 SSD...

谢谢。

【问题讨论】:

  • 为什么操作系统同步对象会撞到磁盘?
  • T.E.D.:我只是想确定它没有。

标签: memory boost mutex semaphore disk


【解决方案1】:

它们纯粹是在记忆中。任何东西最终都在磁盘上的唯一方法是,如果该特定内存被写出到页面文件中。但是,如果确实发生了这种情况,那么它不会对您的 SSD 做更多的事情,而不是写入页面文件中的任何其他内容。

【讨论】:

    【解决方案2】:

    不。需要文件存储的 Boost 互斥锁使用内存映射文件。但主内存中的任何内容都可能被分页到磁盘,除非您执行一些依赖于操作系统的操作来防止它发生。

    http://www.boost.org/doc/libs/1_37_0/doc/html/interprocess/synchronization_mechanisms.html

    【讨论】:

      猜你喜欢
      • 2011-04-20
      • 2017-08-24
      • 1970-01-01
      • 2015-10-25
      • 2016-08-30
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多