Saya memiliki beberapa pertanyaan tentang penggunaan dan pentingnya synchronizedkata kunci. Apa arti penting dari synchronizedkata kunci? Kapan metode seharusnya synchronized? Apa artinya secara terprogram dan
Saya memiliki beberapa pertanyaan tentang penggunaan dan pentingnya synchronizedkata kunci. Apa arti penting dari synchronizedkata kunci? Kapan metode seharusnya synchronized? Apa artinya secara terprogram dan
Adakah yang bisa memberi tahu saya keuntungan metode tersinkronisasi dari blok tersinkronisasi dengan
Setiap kali sebuah pertanyaan muncul di SO tentang sinkronisasi Java, beberapa orang sangat ingin menunjukkan bahwa synchronized(this)harus dihindari. Sebaliknya, mereka mengklaim, kunci pada referensi pribadi lebih disukai. Beberapa alasan yang diberikan adalah: beberapa kode jahat dapat...
Saya bertanya-tanya perbedaan antara mendeklarasikan variabel sebagai volatiledan selalu mengakses variabel dalam sebuah synchronized(this)blok di Jawa? Menurut artikel ini http://www.javamex.com/tutorials/synchronization_volatile.shtml ada banyak yang bisa dikatakan dan ada banyak perbedaan...
Di Java 8, saya dapat dengan mudah menulis: interface Interface1 { default void method1() { synchronized (this) { // Something } } static void method2() { synchronized (Interface1.class) { // Something } } } Saya akan mendapatkan semantik sinkronisasi penuh yang dapat saya gunakan...
Jika saya memiliki 2 metode yang disinkronkan di kelas yang sama, tetapi masing-masing mengakses variabel yang berbeda, dapatkah 2 utas mengakses 2 metode tersebut pada waktu yang sama? Apakah kunci terjadi pada objek, atau apakah itu spesifik seperti variabel di dalam metode yang...
Jika saya menyinkronkan dua metode pada kelas yang sama, dapatkah mereka berjalan secara bersamaan pada objek yang sama ? sebagai contoh: class A { public synchronized void methodA() { //method A } public synchronized void methodB() { // method B } } Saya tahu bahwa saya tidak dapat...
Dokumentasi Java mengatakan: Tidak mungkin untuk dua pemanggilan metode yang disinkronkan pada objek yang sama untuk interleave. Apa artinya ini untuk metode statis? Karena metode statis tidak memiliki objek terkait, akankah kata kunci yang disinkronkan mengunci di kelas, bukan...
Apa arti kode java ini? Apakah itu akan mengunci semua objek MyClass? synchronized(MyClass.class) { //is all objects of MyClass are thread-safe now ?? } Dan bagaimana kode di atas berbeda dari yang ini: synchronized(this) { //is all objects of MyClass are thread-safe now
Peringatan muncul setiap kali saya menyinkronkan pada bidang kelas non-final. Ini kodenya: public class X { private Object o; public void setO(Object o) { this.o = o; } public void x() { synchronized (o) // synchronization on a non-final field { } } } jadi saya...