如何编写和执行一个线程

Mon*_*ica 6 delphi multithreading

我之前从未使用过线程,现在我正在尝试创建一个带有查询的线程来检查数据库状态.查询如下:

select (*) as DBCount from v$datafile where status in 'OFFLINE';.

此查询返回脱机的所有数据库的总数.现在我想在Delphi中创建一个线程,当我运行它并在标签上显示结果时,它将在我的应用程序的后台执行此查询.

gab*_*abr 7

多线程很难.使用像AsyncCalls这样的简单线程框架可能会更好.

以下StackOverlow线程可能会为您提供有关如何解决问题的更多信息:

Delphi - 线程框架

如何在Delphi中以各种方式选择线程?

Delphi线程等待数据,处理它,然后继续等待


Mic*_*las 0

在德尔福中有TThread类。您可以使用 Delphi IDE 中的简单向导创建此类线程(在 Turbo Delphi 中:文件->新建->Delphi 项目->Delphi 文件->Thread Obcjet)。在其构造函数中创建与数据库的连接,在Execute方法中您可以创建查询数据库的循环,更新一些全局变量(未声明为threadvar)并休眠一段时间。

  • 将结果放入“threadvar”将使任何其他线程无法获得结果。那会有什么用呢? (2认同)