java yeild
时间: 2023-11-12 14:56:46 浏览: 34
在Java中,yield是一个关键字,用于告诉线程调度器当前线程愿意放弃CPU资源,但是不会导致线程阻塞。通过使用yield,线程可以让出一部分的CPU时间给其他线程执行。
当一个线程调用yield时,它会暂停当前正在执行的线程,并将CPU资源让给其他具有相同或更高优先级的线程。如果没有其他具有相同或更高优先级的线程,那么该线程将继续执行。
注意:yield方法只会暂停当前线程,而不会阻塞它。
以下是一个使用yield方法的示例代码:
```java
public class MyThread extends Thread {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + " - " + i);
Thread.yield();
}
}
}
public class Main {
public static void main(String[] args) {
MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();
thread1.start();
thread2.start();
}
}
```
以上代码创建了两个线程,每个线程打印从0到4的数字。在每次循环迭代之后,使用yield方法暂停当前线程,让其他线程有机会运行。