科士达EPI 40K工频 KSTAR三进单出40KVA/32KW
科士达EPI 40K工频 KSTAR三进单出40KVA/32KW
设计的关键及实现方法3.1多线程在数据采集和动态显示时,为了数据采集与显示的实时性、应用程序中进程的整体执行效率和处理器处理时间的利用率、增强的响应能力和适应性,有助于改善程序的结构,从而使用户能够更加有效地利用好系统的资源。
C++Build6.0了BDE数据库引擎和支持Microsoft的ADO数据库连接,具有强大的应用数据库能力。在设计中引入了多线程。利用C++Builder6.0提供的Tthread对象,支持多线程的编程,操作过程十分便捷。在程序中除主线程外,需要设计TDataCollection类采集线程与TDataDisplay类显示线程,分别进行数据采集与数据显示,这两个线程均派生于C++Builder提供的TThread类。
TThread类封装了使用WindowsAPI函数创建线程、挂起线程、终止线程、控制线程同步的所有复杂的内部细节,并提供的方法、及属性等控制线程。者可以通过主线程操控这两个线程。这种设计能确保数据采集与数据显示同步进行,由两个的线程分别完成数据采集和数据显示,能确保主线程的快速响应能力。
在设计程序时,公共数据或对象可能要多个线程享或同步使用。为防止访问线程之间相互撞车,在某一线程访问期间该数据模块时,必须对公共数据模块进行保护,直至访问结束。这可以通过临界区域(CriticalSection)的使用来实现,C++Builder提供了一个TCriticalSection类来进行临界区域的划定,该对象有两个方法,Acquire()和Release()。