【发布时间】:2012-12-07 19:20:13
【问题描述】:
我正在尝试确定 IO 操作完成时切换线程的大致时间延迟(Win 7、Vista、XP)。
我(认为我)知道的是:
a) 线程上下文切换本身的计算速度非常快。 (通过非常快,我的意思是通常方式在 1 毫秒以下,甚至可能在 1 微秒以下? - 假设一个相对较快的空载机器等)
b) 循环时间片量子约为 10-15ms。
我似乎找不到有关从(高优先级)线程变为活动/发出信号的典型延迟时间的信息 - 例如,通过同步磁盘写入完成 - 并且该线程实际上再次运行。
例如,我至少在一个地方读到,所有非活动线程都保持休眠状态,直到大约 10 毫秒的系统时间片到期,然后(假设它们已准备就绪),它们几乎同时被重新激活。但在另一个地方,我读到线程完成 I/O 操作与它变为活动/发出信号并再次运行之间的延迟以微秒而不是毫秒为单位。
我的询问上下文与从高速摄像机捕获和连续流式写入 SSD 的 RAID 阵列有关,除非我可以在前一个写入远低于 1 毫秒后开始新的写入(这将是最好平均低于 1/10 毫秒),这将是有问题的。
任何有关此问题的信息将不胜感激。
谢谢, 大卫
【问题讨论】:
-
请注意,毫秒时间也可以以微秒为单位,只需再添加三个零;-)
-
你能设置一个基准吗?
标签: windows data-processing thread-state