就單線程而言,程序是 計算數據和刷新界面代碼交替執行,而不是同時計算數據和刷新界面。
假如有大數據量的計算耗時N秒,那必然導致後續刷新界面的代碼延後執行N秒。
在這個N秒裏,界面就沒有及時刷新,這就是所謂的卡。
多線程技術就是可以將壹些操作放在其他線程裏進行,假如說剛才的計算放在單獨的子線程裏,而界面就在主線程裏,那樣的話,計算和界面刷新代碼就分別獨立執行,互不影響(這個是windows多線程技術決定的)。所以界面程序能及時刷新界面,從而不卡。
不只是delphi,其他的編程語言用多線程也是壹樣道理。這個是windows的支持決定的。