0

我正在做一个项目,该项目测量某种方法的计算时间对某些框架的性能的影响。我想知道具有不同时间的 sleep() 是否足以做到这一点?特别是对于大规模线程并行的 fork/join 框架,sleep() 应该等待 x 秒。我的意思是,当线程 Y 正在执行时,线程 Z 的睡眠,然后没有执行,不应该计算在内。可以说,睡眠应该使处理器锁定当前线程。

基本上: sleep(x) 会在 x 有效执行时间秒内休眠,还是会在线程空闲时计算时间?

我在网上找不到任何信息,可能是因为我不知道正确的术语,因为它看起来像是一个相当基本的问题。

4

2 回答 2

0

sleep() 不会使处理器锁定在当前线程上,处理器使线程处于非活动状态并继续与其他线程一起工作。

于 2012-11-28T11:01:43.503 回答
0

Thread.sleep() 顾名思义,使线程进入睡眠状态。它故意和故意停止线程,并且操作系统在唤醒时可能在另一个 cpu 上启动它。

目前尚不清楚您要做什么,或者当您需要将线程锁定到核心时是否要让它们进入睡眠状态。

于 2012-11-28T10:55:22.753 回答