cari

Rumah  >  Soal Jawab  >  teks badan

Apabila blok kod kunci disegerakkan dalam Java, adakah kelas ini perlu menjadi satu?

Apabila ia mengunci kaedah atau blok kod, paling banyak satu utas boleh melaksanakan kod ini pada masa yang sama. Apabila dua utas serentak mengakses blok kod penyegerakan terkunci ini dalam objek objek yang sama, hanya satu utas boleh dilaksanakan pada satu masa. Benang lain mesti menunggu sehingga benang semasa selesai melaksanakan blok kod ini sebelum ia boleh melaksanakan blok kod ini.

Maka persoalannya ialah, jika dua utas mengakses contoh objek ini yang berbeza, adakah ia masih akan disekat?

高洛峰高洛峰2734 hari yang lalu961

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-06-28 09:24:12

    disegerakkan boleh digunakan dalam tiga cara berikut

    1. Nyatakan objek untuk dikunci. Serupa dengan disegerakkan (contoh) {}.

    2. Bertindak secara langsung pada kaedah contoh. Ia bersamaan dengan mengunci kejadian semasa Sebelum memasuki kaedah penyegerakan, anda mesti mendapatkan kunci kejadian semasa.

    3. Bertindak secara langsung pada kaedah statik. Ia bersamaan dengan mengunci kelas semasa dan mendapatkan kunci kelas semasa sebelum memasuki kaedah penyegerakan.

    Untuk 1 dan 2 di atas. Benang mesti disekat hanya jika ia adalah objek yang sama atau kejadian yang sama.

    balas
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-28 09:24:12

    Kunci ditambahkan pada kejadian objek. Kunci yang ditambahkan pada objek berbeza tidak akan menjejaskan satu sama lain. Dua utas yang mengakses dua objek berbeza tidak akan menyekat satu sama lain.

    balas
    0
  • Batalbalas