限制

限制对 CPU 的使用

  1. sleep 实现

在没有利用 cpu 来计算时,不要让 while(true) 空转浪费 cpu,这时可以使用 yield 或 sleep 来让出 cpu 的使用权 给其他程序

  1. while(true) {
  2. try {
  3. Thread.sleep(50); // 关键语句
  4. } catch (InterruptedException e) {
  5. e.printStackTrace();
  6. }
  7. }
  • 可以用 wait 或 条件变量达到类似的效果;
  • 不同的是,后两种都需要加锁,并且需要相应的唤醒操作,一般适用于要进行同步的场景;
  • sleep 适用于无需锁同步的场景;