đ§ Volatile āĻি? āϏāĻšāĻ āĻাāώাā§ āĻŦুāĻি!
đ§ Volatile āĻি? āϏāĻšāĻ āĻাāώাā§ āĻŦুāĻি!
đ¤ āĻāϞ্āĻĒāύা āĻāϰুāύ:
āϧāϰুāύ, āĻāĻĒāύি āĻāĻŦং āĻāĻĒāύাāϰ āĻŦāύ্āϧু āĻāĻāĻি āĻļেā§াāϰ āĻāϰা āύোāĻāĻŦুāĻ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻেāύ। āĻāĻĒāύি āϝāĻāύāĻ āĻোāύো āĻিāĻু āϞিāĻেāύ, āĻāĻĒāύাāϰ āĻŦāύ্āϧু āϏেāĻি āϏাāĻĨে āϏাāĻĨে āĻĻেāĻāϤে āĻĒাā§। āĻিāύ্āϤু, āϝāĻĻি āύোāĻāĻŦুāĻেāϰ āĻāĻাāϰ āĻŦāύ্āϧ āĻĨাāĻে, āϤāĻāύ āĻāĻĒāύাāϰ āĻŦāύ্āϧু āĻāĻĒāĻĄেāĻ āĻĻেāĻāϤে āĻĒাāĻŦে āύা, āϝāϤāĻ্āώāĻŖ āύা āϏে āĻāĻাāϰ āĻুāϞে āĻেāĻ āĻāϰে।
āĻāĻāύ, āϝāĻĻি āϏেāĻ āύোāĻāĻŦুāĻ "āĻোāϞাāĻাāĻāϞ āĻĒৃāώ্āĻ া" āĻĻিā§ে āϤৈāϰি āĻšā§, āϤাāĻšāϞে āϝা-āĻ āϞেāĻা āĻšāĻŦে, āϏেāĻা āϏ্āĻŦā§ংāĻ্āϰিā§āĻাāĻŦে āϏāĻāϞেāϰ āĻাāĻে āϏাāĻĨে āϏাāĻĨেāĻ āĻāĻĒāĻĄেāĻ āĻšāĻŦে।
✅ āĻ িāĻ āĻāĻāĻাāĻŦেāĻ volatile āĻীāĻā§াāϰ্āĻĄ āĻাāĻ āĻāϰে Java āĻ Kotlin-āĻāϰ āĻŽাāϞ্āĻিāĻĨ্āϰেāĻĄিং (Multithreading) āĻĒ্āϰোāĻ্āϰাāĻŽে।
đ¯ Volatile āĻী?
volatile āĻšāϞ āĻāĻāĻি āĻিāĻā§াāϰ্āĻĄ, āϝা āĻŦāϞে āĻĻেā§ āϝে āĻāĻāĻি āĻেāϰিā§েāĻŦāϞ āϏāĻŦāϏāĻŽā§ āĻŽূāϞ āĻŽেāĻŽোāϰি āĻĨেāĻে āϏāϰাāϏāϰি āĻĒā§āϤে āĻ āĻāĻĒāĻĄেāĻ āĻāϰāϤে āĻšāĻŦে।
đ āϏাāϧাāϰāĻŖ āĻেāϰিā§েāĻŦāϞ:
- āϏাāϧাāϰāĻŖāϤ, āϝāĻāύ āĻāĻāĻি āĻেāϰিā§েāĻŦāϞ āĻŽাāϞ্āĻিāĻĨ্āϰেāĻĄেāĻĄ āĻĒ্āϰোāĻ্āϰাāĻŽে āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšā§, āϤāĻāύ āĻĒ্āϰāϤিāĻি āĻĨ্āϰেāĻĄ āϤাāϰ āĻ্āϝাāĻļ āĻŽেāĻŽোāϰি (Cache)-āϤে āĻĄাāĻা āϰাāĻে।
- āĻĢāϞে, āĻāĻāĻি āĻĨ্āϰেāĻĄ āϝāĻĻি āĻোāύো āĻāĻĒāĻĄেāĻ āĻāϰে, āĻ āύ্āϝ āĻĨ্āϰেāĻĄ āĻšā§āϤো āϏেāĻা āϏাāĻĨে āϏাāĻĨে āĻĻেāĻāϤে āĻĒাā§ āύা!
đ Volatile āĻেāϰিā§েāĻŦāϞ:
volatileāĻোāώāĻŖা āĻāϰা āĻেāϰিā§েāĻŦāϞ āϏāϰাāϏāϰি āĻŽূāϞ āĻŽেāĻŽোāϰি (Main Memory)-āϤে āϏংāϰāĻ্āώিāϤ āĻšā§।- āϏāĻŦ āĻĨ্āϰেāĻĄ āϏāϰ্āĻŦāĻĻা āĻŽূāϞ āĻŽেāĻŽোāϰি āĻĨেāĻে āĻāĻি āĻĒā§āĻŦে āĻ āϞিāĻāĻŦে, āĻĢāϞে āĻĄাāĻা āϏাāĻĨে āϏাāĻĨেāĻ āϏāĻŦাāϰ āĻāύ্āϝ āĻāĻĒāĻĄেāĻ āĻšāĻŦে!
đ āĻোāĻĄ āĻāĻĻাāĻšāϰāĻŖ:
@Volatile
private var INSTANCE: TodoDatabase? = null
đ āĻāĻাāύে āĻী āĻšāĻ্āĻে?
1️⃣ INSTANCE āĻšāϞ āĻāĻŽাāĻĻেāϰ āĻļেā§াāϰ āĻāϰা āύোāĻāĻŦুāĻ (Database Instance)।
2️⃣ @Volatile āύিāĻļ্āĻিāϤ āĻāϰāĻে āϝে, āϝāĻāύāĻ āĻেāĻ INSTANCE āĻেāĻ āĻāϰāĻŦে āĻŦা āĻāĻĒāĻĄেāĻ āĻāϰāĻŦে, āϤāĻāύ āϏেāĻি āϏāϰাāϏāϰি āĻŽূāϞ āĻŽেāĻŽোāϰি āĻĨেāĻে āĻĒā§া āĻŦা āϞেāĻা āĻšāĻŦে।
3️⃣ āĻĢāϞাāĻĢāϞ: āϏāĻŦ āĻĨ্āϰেāĻĄ āϏāĻŦāϏāĻŽā§ āϏāϰ্āĻŦāĻļেāώ āĻāĻĒāĻĄেāĻেāĻĄ āĻĄাāĻা āĻĒাāĻŦে।
đ Volatile āĻেāύ āĻĻāϰāĻাāϰ?
đ¨ āϏāĻŽāϏ্āϝা āϝāĻĻি volatile āĻŦ্āϝāĻŦāĻšাāϰ āύা āĻāϰি?
āϧāϰুāύ, āĻāĻĒāύাāϰ āĻ ্āϝাāĻĒে āĻāĻāĻি āĻĄাāĻাāĻŦেāĻ āĻāύ্āϏāĻ্āϝাāύ্āϏ āĻāĻে āĻāĻŦং āĻāĻি āĻ āύেāĻāĻুāϞো āĻĨ্āϰেāĻĄ āĻĻ্āĻŦাāϰা āĻ ্āϝাāĻ্āϏেāϏ āĻāϰা āĻšāĻ্āĻে।
private var INSTANCE: TodoDatabase? = null
āĻāĻāύ, āϝāĻĻি āĻāĻāĻি āĻĨ্āϰেāĻĄ INSTANCE āϤৈāϰি āĻāϰে, āĻিāύ্āϤু āĻ
āύ্āϝ āĻĨ্āϰেāĻĄ āϤāĻāύāĻ āĻĒুāϰāύো āĻĄাāĻা āĻĒā§ে, āϤাāĻšāϞে āĻŦাāĻ āĻšāϤে āĻĒাāϰে!
đ´ āϏāĻŽ্āĻাāĻŦ্āϝ āϏāĻŽāϏ্āϝা:
- āĻāĻাāϧিāĻ āĻĨ্āϰেāĻĄ āĻāĻāϏাāĻĨে āĻĄাāĻাāĻŦেāĻ āϤৈāϰি āĻāϰāϤে āĻĒাāϰে! (āĻĄাāĻŦāϞ āĻ āĻŦāĻেāĻ্āĻ āϤৈāϰি āĻšā§ে āϝাāĻŦে)
- āĻিāĻু āĻĨ্āϰেāĻĄ āĻĒুāϰāύো
INSTANCEāĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϤে āĻĒাāϰে, āĻাāϰāĻŖ āĻāĻি Cache āĻĨেāĻে āĻĒā§āĻে, āĻŽূāϞ āĻŽেāĻŽোāϰি āĻĨেāĻে āύā§।
✅ Volatile-āĻāϰ āϏāĻŽাāϧাāύ:
āϝāĻāύ āĻāĻĒāύি @Volatile āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰেāύ:
@Volatile
private var INSTANCE: TodoDatabase? = null
đš āϏāĻŦ āĻĨ্āϰেāĻĄ āϏāϰাāϏāϰি āĻŽূāϞ āĻŽেāĻŽোāϰি āĻĨেāĻে āĻĄাāĻা āĻĒাāĻŦে।
đš āϝেāĻোāύো āĻĨ্āϰেāĻĄ āϝāĻĻি āĻāĻĒāĻĄেāĻ āĻāϰে, āϏেāĻি āϏাāĻĨে āϏাāĻĨে āĻ
āύ্āϝāĻĻেāϰ āĻāύ্āϝāĻ āĻāĻĒāĻĄেāĻ āĻšāĻŦে।
đš āĻ্āϝাāĻļিং āϏāĻŽāϏ্āϝাāϰ āĻাāϰāĻŖে āĻুāϞ āĻĄাāĻা āĻĒাāĻā§াāϰ āϏāĻŽ্āĻাāĻŦāύা āĻĨাāĻāĻŦে āύা।
đ¯ āϏংāĻ্āώেāĻĒে:
| đ ️ āϏাāϧাāϰāĻŖ āĻেāϰিā§েāĻŦāϞ | đ volatile āĻেāϰিā§েāĻŦāϞ |
|---|---|
| āĻ্āϝাāĻļে āĻĨেāĻে āĻĒā§āϤে āĻĒাāϰে, āĻĢāϞে āĻĒুāϰāύো āĻĄাāĻা āĻĒেāϤে āĻĒাāϰে। | āϏāĻŦāϏāĻŽā§ āĻŽেāĻāύ āĻŽেāĻŽোāϰি (RAM)-āĻĨেāĻে āϏāϰাāϏāϰি āĻĄাāĻা āύেā§। |
| āϏāĻŦ āĻĨ্āϰেāĻĄ āϏāϰ্āĻŦāĻļেāώ āĻāĻĒāĻĄেāĻেāĻĄ āĻĄাāĻা āύাāĻ āĻĒেāϤে āĻĒাāϰে। | āϏāĻŦ āĻĨ্āϰেāĻĄ āϏāϰ্āĻŦāĻĻা āϏāϰ্āĻŦāĻļেāώ āĻāĻĒāĻĄেāĻ āĻĒাā§। |
| āĻŽাāϞ্āĻিāĻĨ্āϰেāĻĄিংā§ে āĻĄাāĻা āĻāύ্āϏāĻ্āϝাāύ্āϏ āϏāĻ িāĻāĻাāĻŦে āĻļেā§াāϰ āύাāĻ āĻšāϤে āĻĒাāϰে। | āĻŽাāϞ্āĻিāĻĨ্āϰেāĻĄিংā§ে āĻĄাāĻা āĻļেā§াāϰ āĻāϰা āύিāϰ্āĻāϰāϝোāĻ্āϝ āĻ āϏāĻ িāĻ āĻšā§। |
đ¯ āĻāĻāύ volatile āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦেāύ?
1️⃣ āϝāĻāύ āĻŽাāϞ্āĻিāĻĨ্āϰেāĻĄিং āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻেāύ āĻāĻŦং āĻেāϰিā§েāĻŦāϞ āĻļেā§াāϰ āĻāϰāϤে āĻাāύ।
2️⃣ āϝāĻāύ āύিāĻļ্āĻিāϤ āĻāϰāϤে āĻাāύ āϝে āϏāĻŦ āĻĨ্āϰেāĻĄ āϏāϰ্āĻŦāĻĻা āϏāϰ্āĻŦāĻļেāώ āĻĄাāĻা āĻĒাāĻŦে।
3️⃣ āϝāĻāύ āĻোāύো Singleton (āϝেāĻŽāύ INSTANCE) āϤৈāϰি āĻāϰāĻেāύ, āϝাāϤে āĻāĻি āĻāĻāĻŦাāϰāĻ āϤৈāϰি āĻšā§।
đ āĻāĻ āĻāĻĨাā§ volatile:
đ āĻāĻি āύিāĻļ্āĻিāϤ āĻāϰে āϝে āĻেāϰিā§েāĻŦāϞেāϰ āĻāĻĒāĻĄেāĻ āϏāĻŦāϏāĻŽā§ āĻŽেāĻŽোāϰিāϤে āϏāĻŦাāϰ āĻāύ্āϝ āĻāĻāϏাāĻĨে āĻšāĻŦে।
āĻāĻি āĻāĻĒāύাāϰ āĻŽাāϞ্āĻিāĻĨ্āϰেāĻĄেāĻĄ āĻ ্āϝাāĻĒেāϰ āĻāύ্āϝ āĻāĻāĻি āϏুāϰāĻ্āώা āĻŦ্āϝāĻŦāϏ্āĻĨা! đĨ đ
Comments
Post a Comment