Search This Blog

Thursday, January 30, 2020

Multithreading with wxWidgets

C++ program တွေမှာ wxWidgets ကို သုံးပြီး multithreading လုပ်ဆောင်မှု တွေ ပြုလုပ် တဲ့အကြောင်း ဆွေးနွေး ပါမယ်။ ဆွေးနွေးမယ့် နမူနာ ပုံစံ အမျိုးမျိုး က
တို့ ဖြစ်ပါတယ်။

အခြေခံ multithreading နမူနာ နဲ့ သူ့ကို run လိုက်လို့ ရလာတဲ့ ရလဒ် ကို အောက်က link နဲ့ ပုံမှာ ပြထားပါတယ်။

https://github.com/yan9a/wxwidgets/blob/master/thread/thread1/thread1.cpp




Figure 1. thread1.cpp


Simple Multithreading Example

ရိုးရှင်း တဲ့ multithreading နမူနာ အနေနဲ့

https://github.com/yan9a/wxwidgets/blob/master/thread/th-simple/th-simple.cpp

ဆိုတဲ့ ပရိုဂရမ် လေးကို ဆွေးနွေး ပါမယ်။ ပရိုဂရမ် မှာ start ၊ stop ၊ pause နဲ့ resume ဆိုတဲ့ button လေးခု ကို အရင် ထည့် ပါမယ်။ Start button က thread အသစ် တစ်ခု ကို ဖန်တီး ပြီး၊ စတင် ဖို့ပါ။ Stop က နောက်ဆုံး ဖန်တီး လိုက်တဲ့ thread ကို ရှာပြီး ဖျက်ပေး ပါလိမ့်မယ်။ Pause က နောက်ဆုံး စတင် တဲ့ thread ကို ရှာပြီး ခေတ္တရပ် (pause) လုပ်ပေး ပါတယ်။ Resume က အရင်ဆုံး paused လုပ်ခဲ့ တဲ့ thread ကို ရှာပြီး၊ ပြန် run ပေးဖို့ ပါ။