
R10.net sayti foydalanuvchilarga sifatli xizmat koʻrsatish uchun çerez fayllaridan foydalanishini va Maxfiylik siyosati mavjudligini bildirdi.
0 2

Dasturlashda Data Race va Race Condition tushunchalarining farqi, ularning amaliy misollari va hal qilish yo'llari haqida bilib oling.
Dasturlash jarayonida ko'pchilik dasturchilar Data Race va Race Condition tushunchalarini bir xil deb o'ylashadi, ammo ular tubdan farq qiladi. Keling, Java tili misolida bu tushunchalarni amalda ko'rib chiqamiz.
Java Language Specification qoidalariga ko'ra, agar dasturda "happens-before" munosabati bilan tartibga solinmagan ikkita ziddiyatli kirish, masalan, o'qish va yozish amallari mavjud bo'lsa, bu Data Race deb ataladi. Amaliy misol tariqasida, bir nechta oqim umumiy resursni parallel ravishda o'zgartirishi va o'qishini tasavvur qilaylik. Bunday holatda eski qiymat o'qib yuborilishi mumkin.
Data Race muammosini hal qilish uchun amallarni "happens-before" munosabati yordamida tartibga solish talab etiladi. Buning uchun "volatile" kalit so'zi qo'llaniladi, chunki u xotira ko'rinishini ta'minlaydi. Ya'ni, yozish amali tugagach, o'zgaruvchi qiymati barcha boshqa oqimlar uchun ko'rinadigan bo'ladi. Agar ushbu kalit so'z ishlatilmasa, o'quvchilar yangilanmagan eski qiymatni ko'rib qolishi mumkin.
Endi Race Condition tushunchasiga to'xtalsak. Java Concurrency qo'llanmasiga ko'ra, Race Condition bu oqimlarning vaqt bo'yicha muvofiqlashuvi omadsiz chiqqani sababli noto'g'ri natijalar yuzaga kelish ehtimolidir. Bunday vaziyatlarda dasturda Data Race bo'lmasligi ham mumkin, lekin oqimlardan biri boshqasi yozgan qiymatni ustidan yozib yuborishi ehtimoli saqlanib qoladi.
Bunday holatlarda oddiy volatile yetarli bo'lmaydi va sinxronizatsiya yoki Atomic turlarini qo'llashga to'g'ri keladi. Muammoni hal qilish uchun synchronized kalit so'zidan foydalanish mumkin. Shu bilan birga, agar maydon volatile deb belgilangan bo'lsa, qiymatni qaytaruvchi getx metodini synchronized qilish talab etilmaydi.
Manba / Источник: Yangiliklar
0 ta ovoz
Tahririyat manba va rasmiy xabarlarni solishtirib chop etadi. Yangilanishlar shu sahifada chiqadi.
UzGoal saytida va Telegram botida qisqa xulosa chiqadi.

R10.net sayti foydalanuvchilarga sifatli xizmat koʻrsatish uchun çerez fayllaridan foydalanishini va Maxfiylik siyosati mavjudligini bildirdi.
0 2

Yangi iPhone 17 Air smartfonining ranglari, 8 GB RAM hajmi, yupqa korpusi va bitta kamerasi haqidagi soʻnggi maʼlumotlar eʼlon qilindi.
0 2

OpenAI kompaniyasi biznes mijozlarga mo‘ljallangan GPT-4 asosidagi ChatGPT Enterprise maxsus obuna rejasini e’lon qildi.
0 2

NVIDIA va chip ishlab chiqaruvchilar sun'iy intellektga asoslangan yarimo'tkazgichlar ishlab chiqarishni rivojlantirish uchun CUDA-X kutubxonalarini joriy…
0 2