&; Atom" quot; programlama ne anlama geliyor?
Etkili Java kitabı belirtir:
Dil belirtimi veya bir okuma yazma garanti değişken değişken Tipi
long
double
[İDEA,sürece değişmez. 17.4.7].
"Atom" Java programlama bağlamında demek, ya da genel olarak programlama nedir?
CEVAP
Örnek olarak, genellikle uzun bir açıklama daha net olduğu için işte bir örnek. foo
sanırım 7 ** türünde bir değişken. Aşağıdaki işlemi atomik bir işlem değildir:
foo = 65465498L;
Nitekim, değişken iki ayrı operasyonda kullanılarak yazılır: son 32 bit yazar olan ilk 32 bit yazıyor bu bir, ve ikincisi. Bu başka bir iş parçacığı foo
, değerini okumak ve ara durumunu görebilirsiniz anlamına gelir. İşlem atom yapma, (yerinde değil splittable yani tek bir atom, bir işlem olarak başka bir iş parçacığı işlemi görmemiş olduğundan emin olmak için eşitleme mekanizmaları kullanarak, oluşur. Bu işlem atom yapıldıktan sonra başka bir iş parçacığı, ya da atama sonrası atama önce, ya da foo
değeri göreceği anlamına gelir. Ama hiç ara değer.
Bunu yapmanın basit bir yolu değişken geçici yapmak için:
private volatile long foo;
Ya da değişken her erişim eşitlemek için:
public synchronized void setFoo(long value) {
this.foo = value;
}
public synchronized void getFoo() {
return this.foo;
}
// no other use of foo outside of these two methods, unless also synchronized
Ya da bir AtomicLong ile değiştirmek için:
private AtomicLong foo;
&Quot;coalgebra" programlama bağl...
&; Durağan" quot; C programında ne...
Bu ne anlama geliyor? &;'NSUnknow...
YAY kullanmak için bir proje dönüştürü...
"__Blok " " anahtar kelime ne anl...