多线程程序的优势不在VCL处理上,而是各种无界面处理(如数据库操作、文件读写等、其它费时计算)
。
例1:
你有一个包含即许多界面(菜单、窗体、按钮)又有许多费时操作的程序,当用户
点击某个按钮后,你需要把用户输入的数据保存到数据库或文件中,如果保存需要耗时
很长时间,则用户必须等待,用户会抱怨说你的程序太慢了。
这时,你可以创建一个线程做保存这件事,而主程序(即主线程)可以马上继续响应
用户的其它操许,这样用户的感觉是点击保存按钮后几乎没有等待感。
例2:
在例1中,假如你希望能在程序的状态条上显示保存进度,操纵状态条显然是VCL操作,所以
你需要在保存线程中使用同步。注意过MS Word中的后台保存吗?状态条上那个一闪一闪的
磁盘图标,就是保存线程的杰作。
综上所述,线程的主要功能不是VCL操作。假如你发现你的线程中需要进行大量VCL操作,那说明
程序的设计存在问题。
大家觉得如何?