私は教科書のいくつかの例に取り組んでおり、Eclipse でコードを書いてそれを理解しています。
これは、質問があるメソッドのコードです。
public void run() {
//Get the lock before entering the loop
synchronized(getClass()) {
for (int i =0; i<N; i++) {
System.out.println(getName() + " is tired");
try{
Thread.currentThread().sleep(DELAY);
} catch (InterruptedException e) {}
System.out.println(getName() + " is rested");
}
オンラインで次のように入力します。
Thread.currentThread().sleep(DELAY)
Eclipse は次のような警告を表示します。Eclipse は次の解決策を提案します。
Thread.currentThread();
Thread.sleep(DELAY);
なぜ違いが生じるのかわかりません(実際に違いがある場合)。誰か説明してくれませんか?