Re: 如何使迴圈在run時,程式的視窗看起來不會像當掉?
※ 引述《vivianne.bbs@bbs.cis.nctu.edu.tw (金色高跟鞋)》之銘言:
: 目前寫的視窗程式 while迴圈一直在執行時
: 視窗看起來像當掉一樣 但實際上迴圈還在跑
: 所以請問: 如何使迴圈在run時 程式的視窗不會像當掉?
: 另外想請問是要用"多執行緒" 還是用其他的方式解決?
: 謝謝
也許你的程式長的像這樣:
// 按下按鈕後
onButtonClicked() {
// 執行特定的命令
specificCommand();
}
specificCommand() {
// 一連串複雜的指令
}
那麼在執行特定的命令時,視窗程式確實會像當掉一樣
原因是,這一段指令將由 GUI Thread 來執行
若要解決這種問題,把複雜的指令交由其他 Thread 來執行就可以了
新的程式如下:
// 按下按鈕後
onButtonClicked() {
// 交由其他執行緒來執行特定的命令
executeByOtherThread (specificCommand);
}
executeByOtherThread (Target t) {
// 將目標指派給其他執行緒來執行
}
specificCommand() {
// 一連串複雜的指令
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.205.85
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章