Synchronization dasturlash uz



Yüklə 399,59 Kb.
Pdf görüntüsü
səhifə2/2
tarix17.12.2023
ölçüsü399,59 Kb.
#149976
1   2
Thread synchronization

guarantees the visibility
for other threads of writes to 
that variable.

O’zgaruvchini volatile deb elon qilish, shu o’zgaruvchining oxirgi qiymati boshqa Thread 
larga ko’rinishini taminlaydi.
public class SharedObject {
public volatile int counter = 0;
}
dasturlash.uz


Volatile not enough

In the scenario given above, where one thread (T1) modifies the counter, and 
another threads (T2,T3,T4) reads the counter (but never modifies it), 
declaring the counter variable volatile is enough to guarantee visibility for T2 
of writes to the counter variable.

If, however, both T1 and T2 were incrementing the counter variable, then 
declaring the counter variable volatile would not have been enough. 

Bitta holatni ko’raylik. T1- Thread qaysidir o’zgruvchini qiymatini o’zgartirsa
ba boshqa T2,T3,T4… Thread lar o’zgaruvchini faqat qiymatini o’qisa volatile 
kalit so’zidan foydalansak bo’ladi. Bunda volatile kalit so’zi T2,T3,T4 Thread 
lar o’zgaruvchining ohirgi qiymatini o’qishini taminlaydi.

Agar. T1 va T2 Thread lar bir vaqtni o’zida o’zgaruvchini qiymatini o’zgartirsa, 
o’zgaruvchini volatile kalit so’zi bilan belgilash foyda bermaydi.
dasturlash.uz


Volatile not enough

If multi thread changes value of any variable we should use either 
synchronized keyword or one of the many atomic data types found in 
the
java.util.concurrent package
.

Agar birnechta Thread birvaqtni o’zida o’zgaruvchining qiymatini o’zgartirsa
biz Synchronized kalit so’zini yokiy
java.util.concurrent package
dagi data 
tiplar dan bittasini ishlatishimiz kerak.
dasturlash.uz


Volatile links

https://jenkov.com/tutorials/java-concurrency/volatile.html

https://www.javatpoint.com/volatile-keyword-in-java
dasturlash.uz

Yüklə 399,59 Kb.

Dostları ilə paylaş:
1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə