Heim > Java > javaLernprogramm > Was ist der Unterschied zwischen yield() und sleep() in Java?

Was ist der Unterschied zwischen yield() und sleep() in Java?

王林
Freigeben: 2023-05-07 21:55:06
nach vorne
1589 Leute haben es durchsucht

Unterschiede

1. Sleep() führt dazu, dass der aktuelle Thread für die angegebene Zeit angehalten wird, ohne CPU-Zeitscheiben zu verbrauchen

2. yield() ist nur eine Eingabeaufforderung an den CPU-Scheduler, wenn der CPU-Scheduler dies nicht ignoriert Diese Eingabeaufforderung führt zu einem Thread-Kontextwechsel.

sleep() führt dazu, dass der Thread kurzzeitig blockiert und innerhalb einer bestimmten Zeit CPU-Ressourcen freigibt.

Wenn yield() wirksam wird, sorgt yield() dafür, dass er aus dem Status RUNNING in den Status RUNNABLE übergeht state

sleep() Der Schlaf für eine bestimmte Zeit wird zu fast 100 % abgeschlossen, aber die Eingabeaufforderung yield() garantiert nicht unbedingt, dass

Ein Thread, der sleep() aufruft, und ein anderer Thread, der interrupt() aufruft, das Interrupt-Signal abfangen. aber yield wird nicht

Instances

package cn.hanquan.test;
/*
 * sleep模拟倒计时,每一秒减一
 */
public class Lambda {
public static void main(String[] args) {
 
// Labmda表达式
new Thread(() -> {
for (int i = 0; i < 100; i++) {
System.out.println(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen yield() und sleep() in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage