【发布时间】:2019-02-12 04:53:09
【问题描述】:
我目前正在使用 istream 读取 c++ 中的文本文件,我注意到每次读取后 istream 都会锁定文件(特别是 istream get 和 peek 方法)会产生大量开销。
如果我理解正确的话,这种锁定是为了线程安全而发生的,但我只打算使用单个线程,所以感觉没有必要。
从 istream 读取时,有什么方法可以防止此线程锁定?
提前致谢!
P.S.:我附上了一张 VTune 结果图片,其中包含时间花费的概览。
【问题讨论】:
-
@Galik,谢谢,我会试试的
-
@Galik,仅适用于标准流,不适用于 istream
-
我不知道有一个标志或
#define可以用来禁用它。标准要求流是线程安全的,所以我不确定是否会禁用它。 -
@NathanOliver,嗯,你知道有什么类似的 istream 替代品可以用来代替线程安全性不那么严格的吗?
-
有C IO函数。
标签: c++ performance locking istream