Asynchronous programming (သင်တန်း အပြည့်အစုံ)

Asynchronous programming (သင်တန်း အပြည့်အစုံ)

Asynchronous programming သည် မကြာသေးမီက classical parallel programming ထက် အနည်းငယ်သာ ဖွံ့ဖြိုးလာခဲ့ပြီး JavaSript ၏ကမ္ဘာတွင်၊ browsers နှင့် Node.js တွင်၎င်း၏နည်းပညာများကိုနားလည်မှုသည် developer များ၏ကမ္ဘာ့အမြင်ကိုဖွဲ့စည်းရာတွင်ဗဟိုနေရာတစ်ခုဖြစ်လာခဲ့သည်။ အညီအညွတ် ပရိုဂရမ်းမင်းစနစ်၊ ၎င်းတို့ကြားရှိ အဒက်တာများနှင့် အရန်အဖွင့်များကြားတွင် အသုံးများသော နည်းလမ်းများအားလုံးကို ရှင်းလင်းချက်ဖြင့် ပြီးပြည့်စုံပြီး အပြည့်စုံဆုံး သင်တန်းတစ်ခု ပေးပါသည်။ ယခု ၎င်းတွင် ပို့ချချက် ၂၃ ခု၊ အစီရင်ခံစာ ၃ ခုနှင့် github တွင် ကုဒ်နမူနာများစွာ ပါရှိသည့် သိုလှောင်ခန်း ၂၈ ခု ပါဝင်သည်။ စုစုပေါင်း ဗီဒီယို 23 နာရီခန့် အစီအစဉ်လင့်ခ်.

Diagram ၏ ရှင်းလင်းချက်

ပုံကြမ်း (အထက်) သည် asynchrony ဖြင့် လုပ်ဆောင်သည့် မတူညီသောနည်းလမ်းများကြား ချိတ်ဆက်မှုများကို ပြသသည်။ ရောင်စုံဘလောက်များသည် အပြိုင်အဆိုင်ပရိုဂရမ်ရေးဆွဲခြင်းနှင့် သက်ဆိုင်ပြီး အဖြူအမည်းအတုံးများသည် အပြိုင်ပရိုဂရမ်ရေးဆွဲခြင်းနည်းလမ်းများ (semaphores၊ mutexes၊ အတားအဆီးများ စသည်ဖြင့်) နှင့် Petri nets၊ asynchronous programming နှင့် actor model ကဲ့သို့ပင် တို့သည် parallel computing ကို အကောင်အထည်ဖော်ရန်အတွက် မတူညီသောချဉ်းကပ်ပုံများဖြစ်သည် (၎င်းတို့ကို ပရိုဂရမ်ရေးဆွဲခြင်း၏နေရာကိုသာ diagram တွင်ပြသထားသည်)။ multithreading မပါဘဲ သရုပ်ဆောင်များကို အကောင်အထည်ဖော်ရာတွင်လည်း တည်ရှိခွင့်ရှိပြီး အပြိုင်အဆိုင် ကုဒ်များကို တည်ဆောက်ရာတွင် အသုံးပြုသောကြောင့် သရုပ်ဆောင်မော်ဒယ်သည် အပြိုင်အဆိုင်လုပ်ဆောင်ခြင်းနှင့် သက်ဆိုင်ပါသည်။ အစက်ချမျဉ်းများသည် အဖြစ်အပျက်များနှင့် တစ်ပြိုင်နက်တည်း တန်းစီခြင်းကို ပြန်ခေါ်ခြင်းသို့ ချိတ်ဆက်ထားသောကြောင့် အဆိုပါ abstraction များသည် ပြန်လည်ခေါ်ဆိုမှုများအပေါ် အခြေခံထားသော်လည်း အရည်အသွေးပိုင်းအရ ချဉ်းကပ်မှုအသစ်များအဖြစ် ရှိနေဆဲဖြစ်သည်။

ဟောပြောပွဲအကြောင်းအရာများ

1. Asynchronous ပရိုဂရမ်းမင်း (ခြုံငုံသုံးသပ်ချက်)
2. အချိန်တိုင်းစက်များ၊ အချိန်ကုန်ဆုံးမှုများနှင့် EventEmitter
3. ပြန်လည်ခေါ်ဆိုမှုများနှင့်အတူ အညီအမျှ ပရိုဂရမ်ရေးဆွဲခြင်း။
4. Non-blocking asynchronous iteration
5. async.js စာကြည့်တိုက်နှင့် တပြိုင်တည်း ချိန်ကိုက်ခြင်း။
6. ကတိများပေါ်တွင် ထပ်တူထပ်မျှ
7. Asynchronous လုပ်ဆောင်ချက်များနှင့် အမှားအယွင်းများကို ကိုင်တွယ်ခြင်း။
8. Asynchronous အဒက်တာများ- ကတိပေးသည်၊ ပြန်ခေါ်ရန်၊ တပြိုင်တည်းလုပ်ဆောင်သည်။
9. Asynchronous ဒေတာစုဆောင်းသူများ
10. ကတိမတည်သော အမှားများ
11. asynchronous stacktrace ပြဿနာ
12. ဂျင်နရေတာများနှင့် အညီအမျှ ဂျင်နရေတာများ
13. Iterators နှင့် Asynchronous Iterators
14. အပြိုင်အဆိုင်လုပ်ဆောင်မှုများကို ပယ်ဖျက်ခြင်း။
15. Asynchronous function ဖွဲ့စည်းမှု
16. အသုံးချ၍ရနိုင်သော ပေါ့ပါးမှုက စောင့်ကြိုနေပါသည်။
17. ပြိုင်တူ အကွဲကွဲ တန်းစီ
18. Constructor Pattern ကိုဖော်ထုတ်ခြင်း။
19. အနာဂတ်- နိုင်ငံမဲ့ အနာဂတ်များ အပေါ် ထပ်တူထပ်မျှ
20. ရွှေ့ဆိုင်းခြင်း- ပြည်နယ်အလိုက် ရွှေ့ဆိုင်းမှုများအပေါ် အချိုးညီညီ
21. သရုပ်ဆောင် မော်ဒယ်
22. Observer Pattern (Observer + Observable)၊
23. RxJS နှင့် Event Stream များ နှင့် ကွဲလွဲမှု

ဗီဒီယိုတစ်ခုစီအောက်တွင် ဆွေးနွေးထားသည့် ကုဒ်နမူနာများပါသည့် သိုလှောင်ခန်းများသို့ လင့်ခ်များ ပါရှိပါသည်။ အရာအားလုံးကို တစ်ပြိုင်နက်တည်း သက်သက်မဲ့ abstraction တစ်ခုသို့ လျှော့ချရန် မလိုအပ်ကြောင်း ပြသရန် ငါကြိုးစားခဲ့သည်။ asynchrony တွင် universal ချဉ်းကပ်မှုမျိုးမရှိပါ၊ နှင့် ကိစ္စတစ်ခုစီအတွက် ဤတိကျသောအလုပ်အတွက် ကုဒ်ကို သဘာဝကျကျရေးနိုင်စေမည့် အဆိုပါနည်းလမ်းများကို သင်ရွေးချယ်နိုင်ပါသည်။ ဟုတ်ပါတယ်၊ ဒီသင်တန်းကို ဖြည့်စွက်ပြီး ခေါင်းစဉ်အသစ်တွေ အကြံပြုပြီး ကုဒ်နမူနာတွေကို ပံ့ပိုးပေးဖို့ လူတိုင်းကို တောင်းဆိုပါတယ်။ သင်တန်း၏ အဓိက ရည်ရွယ်ချက်မှာ အတွင်းပိုင်းမှ ကွဲလွဲနေသော abstraction များကို မည်သို့တည်ဆောက်ရမည်ကို ပြသရန်ဖြစ်ပြီး ၎င်းတို့ကို အသုံးပြုပုံကို သင်ကြားပေးရုံသာမကဘဲ။ abstraction အားလုံးကို စာကြည့်တိုက်များမှ မယူဆောင်ဘဲ ၎င်းတို့၏ အရိုးရှင်းဆုံး အကောင်အထည်ဖော်မှုတွင် ပေးဆောင်ပြီး ၎င်းတို့၏ လုပ်ငန်းကို အဆင့်ဆင့် ခွဲခြမ်းစိတ်ဖြာပါသည်။

စာရင်းသွင်းအသုံးပြုသူများသာ စစ်တမ်းတွင် ပါဝင်နိုင်ပါသည်။ ဆိုင်းအင်လုပ်ခြင်း, ကျေးဇူးပြု။

သင်တန်းအပေါ် သင့်သဘောထားက ဘယ်လိုလဲ။

  • သင်တန်းတစ်ခုလုံးကို ကြည့်မယ်။

  • ငါရွေးချယ်ကြည့်မယ်။

  • ချဉ်းကပ်နည်းတစ်ခုက ကျွန်တော့်အတွက် လုံလောက်ပါတယ်။

  • သင်တန်းအတွက် ကူညီပေးပါ့မယ်

  • တပြိုင်နက်တည်း ဖြစ်တည်မှုကို ငါ စိတ်မဝင်စားဘူး။

အသုံးပြုသူ ၁၆ ဦး မဲပေးခဲ့သည်။ အသုံးပြုသူ 8 ဦး ရှောင်ခဲ့သည်။

source: www.habr.com

မှတ်ချက် Add