Rumah > Soal Jawab > teks badan
PHPz2017-04-18 10:03:15
Thread.currentThread() tidak mengembalikan utas di mana program semasa sedang berjalan, tetapi mengembalikan utas di mana kod Thread.currentThread() dilaksanakan.
Jadi, anda boleh melihat bahawa apabila utas baharu dibina, kod itu dilaksanakan dalam utas utama, manakala kod dalam kaedah larian dilaksanakan dalam utas.
Ia mudah difahami dengan melihat output
PHP中文网2017-04-18 10:03:15
1. Apabila new
ialah objek Thread
, nama lalainya adalah dalam format Thread-n
Anda boleh melihat Thread
kod sumber.
2. Ini adalah objek benang this
Apabila anda menggunakannya seperti ini, ia adalah benang semasa.
3. Thread.currentThread()
sentiasa mengembalikan urutan yang sedang dijalankan.
巴扎黑2017-04-18 10:03:15
Hasil larian kaedah pembina boleh difahami, tetapi mengapakah hasil larian kaedah larian bukan testThread dalam setName tetapi utas?
PHP中文网2017-04-18 10:03:15
1. Kaedah getName() diwarisi daripada kelas Thread hanya lihat kaedah getName() kelas Thread:
/**
* Returns this thread's name.
*
* @return this thread's name.
* @see #setName(String)
*/
public final String getName() {
return String.valueOf(name);
}
2. Ya
3. Ya
Dalam pembina, Thread.currentThread() ialah thread utama, dan Thread.currentThread() dalam kaedah run ialah thread semasa