Multithreading 如何计算上下文切换之间的线程休眠时间

Multithreading 如何计算上下文切换之间的线程休眠时间,multithreading,scheduler,Multithreading,Scheduler,我有1000个线程的应用程序 如何计算每个线程可以睡眠多长时间,直到操作系统调度器将上下文切换到它?假设线程是cpu绑定的,不等待资源,一个非超线程内核,则时间切片以“滴答”速率发生。对于Windows,默认值为64hz==15.625毫秒/滴答,因此每个线程(1000个线程中)需要15.625秒才能获得时间片。使用1000hz=1ms/tick可以提高速率,在这种情况下,每个线程获得一个时间片需要1秒。有4个超线程内核,8个线程可以同时运行。@rcgldr我想,你可以把你的评论作为答案,这对我

我有1000个线程的应用程序


如何计算每个线程可以睡眠多长时间,直到操作系统调度器将上下文切换到它?

假设线程是cpu绑定的,不等待资源,一个非超线程内核,则时间切片以“滴答”速率发生。对于Windows,默认值为64hz==15.625毫秒/滴答,因此每个线程(1000个线程中)需要15.625秒才能获得时间片。使用1000hz=1ms/tick可以提高速率,在这种情况下,每个线程获得一个时间片需要1秒。有4个超线程内核,8个线程可以同时运行。@rcgldr我想,你可以把你的评论作为答案,这对我很有帮助!