Rumah  >  Soal Jawab  >  teks badan

Java多线程Thread.currentThread()的疑问

高洛峰高洛峰2722 hari yang lalu803

membalas semua(4)saya akan balas

  • PHPz

    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

    balas
    0
  • PHP中文网

    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 thisApabila anda menggunakannya seperti ini, ia adalah benang semasa.
    3. Thread.currentThread() sentiasa mengembalikan urutan yang sedang dijalankan.

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:03:15

    Hasil larian kaedah pembina boleh difahami, tetapi mengapakah hasil larian kaedah larian bukan testThread dalam setName tetapi utas?

    balas
    0
  • PHP中文网

    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

    balas
    0
  • Batalbalas