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