作者H45 (!H45)
站內Programming
標題Re: 如何使迴圈在run時,程式的視窗看起來不會像當掉?
時間Mon Aug 7 01:35:13 2006
※ 引述《[email protected] (金色高跟鞋)》之銘言:
: 目前寫的視窗程式 while迴圈一直在執行時
: 視窗看起來像當掉一樣 但實際上迴圈還在跑
: 所以請問: 如何使迴圈在run時 程式的視窗不會像當掉?
: 另外想請問是要用"多執行緒" 還是用其他的方式解決?
: 謝謝
也許你的程式長的像這樣:
// 按下按鈕後
onButtonClicked() {
// 執行特定的命令
specificCommand();
}
specificCommand() {
// 一連串複雜的指令
}
那麼在執行特定的命令時,視窗程式確實會像當掉一樣
原因是,這一段指令將由 GUI Thread 來執行
若要解決這種問題,把複雜的指令交由其他 Thread 來執行就可以了
新的程式如下:
// 按下按鈕後
onButtonClicked() {
// 交由其他執行緒來執行特定的命令
executeByOtherThread (specificCommand);
}
executeByOtherThread (Target t) {
// 將目標指派給其他執行緒來執行
}
specificCommand() {
// 一連串複雜的指令
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.205.85