多线程技术在Delphi数据库编程中的应用

豆豆网   技术应用频道   2006年07月31日  【字号: 收藏本文

本文详细介绍多线程技术在Delphi数据库编程中的应用

  引言

  在传统上,并发多任务的实现采用的是在操作系统级运行多个进程,由操作系统按照一定的策略(优先级、循环等),调度各个进程的执行,以最大限度的利用计算机的各种资源。在这种实现方法中最基本的调度单位是操作系统级上的进程。由于各个进程拥有自己独立的运行环境(寄存器和地址空间等)。进程与进程之间的耦合关系差,并发性粒度过于粗糙,并发实现也不太容易。所以,除非特殊需要,一般的应用设计都不采用这种技术。

  为了克服这些问题,近年来逐步发展了并发多线程的程序设计技术。从并发Ada、并发C等各种并发多任务的程序设计语言(这些语言中采用的虽然不是线程这个术语,但其基本思想是一样的),到Mach、Chorus、Solaris System等各种采用了线程技术的系统,多线程技术得到了迅速发展和日益广泛的应用。IEEE也推出了有关多线程程序设计的标准POSIX1003.4a。特别是在Window NT和Windows 98等流行操作系统中,采用了线程作为基本的调度单位,其API中也提供了有关线程操作的用户程序接口。所有这些无疑都会促进多线程技术在程序设计中被日益广泛的采用。

  多线程技术的概念

  所谓线程(或称线索,thread),指程序中的以单一的顺序控制流。线程按顺序执行,即在一个线程中,一个时刻只能由一个执行点。显然,按传统方法设计的程序,无论是单道执行的程序,还是由多个进程并发执行的多道程序,就每个程序本身而言,都是由单线程组成的。

  多线程程序设计,就是使单个程序中包含并发执行的多个线程。当多线程程序执行时,在该程序对应的进程中就有多个控制流在同时运行,即具有并发执行的多个线程。在一个进程中包含并发执行的多个控制流,而不是把多个控制流一一分散在多个进程中,这是多线程程序设计与并发多进程程序设计截然不同之处。这就决定了二者之间虽然在概念上有许多相通之处,但实现方法则是完全不同。

来源:计算机与信息技术    作者:张华 卢慧    责编:豆豆技术应用

正在加载评论...