详细对ADO.NETConnection的学习,想必很多朋友对它都有所了解,在这里我就不详细展开说了,而且针对不同的应用使用了多个ADOConnection,我想我应该自己动手来好好研究一下这个问题了
线程是允许程序的一部分独立于其他部分运行。线程可以在单个线程执行的同时运行多个操作,让用户感到像同时发生的一样,即使其中的某些线程出现错误,相互间的操作也不会直接受到影响。一个多线程功能的典型范例是Office中的Word拼写检查程序。在程序开始时,执行指针位于该程序的顶部,然后移动至开始读入代码的位置。不过Word同时还将开始另一个线程并创建另一个执行指针。
当键入文本时,这个新线程将检查在文档中输入的文本,并给有拼写错误的地方置于红色的波浪线标记,这个大家在打英文的时候,会常见到。ADO.NETConnection说到线程就不能不谈“进程”这个词,这两个词几乎总是同时出现。Windows可以将许多程序同时保存在内存中,并允许用户在程序之间来回切换。
这种能够同时运行多个程序的能力称作多任务。一个进程中可以包含许多单独的线程。所以要注意,多任务和多线程并不是一回事。既然可能有许多线程,便可以对不同的线程指定不同的优先级。
聊了半天线程,下面我们把它和ADO.NETConnection结合起来谈。在数据库访问领域,线程可以建立具有大量数据的控件而不阻止用户与其他控件交互。.NET Framework提高了运行多个执行线程的可编程性。在深入介绍ADO.NETConnection的异步操作之前,要说明几点。#t#
1. NET Framework用System .Threading名称空间简化生成线程的工作,但这同样是危险的。线程可能造成很难查错的异常行为,我想大家在Windows操作系统下使用多种软件时出现的令人费解的错误已经很多了。
2. 线程应用程序很难调试,但调试是非常重要的,如果使用在银行系统,医疗系统,出现异常错误,损失会很大。
3. 需要认真管理线程,多线程应用程序中的线程实际上共享相同的内存空间,在同一进程中的线程间有可能覆盖对方的重要数据。
为什么?程序在为改动之前使用BDE运行得好好的,我并没有更改程序的结构啊?我十分的迷惑,当然要想解决问题一切都得从错误代码开始。OLE error 800A0E7F:什么咚咚来的?它什么意思?什么原因引起的?我找了半天也没有在我的系统里找到它的说明,好在现在网络发达,也许有人遇到跟我一样的问题吧,于是我用OLE error 800A0E7F作为关键字搜了一下,嘿嘿,果真被我找到了:
- >0x800A0E7F Operation cannot be performed while executing > asynchronously
异步执行时操作不能被执行(完成),还是不太清楚错误的原因,于是我在一个网站发布了帖子求助,一些人告诉我ADO线程不安全,需要线程同步,事实上我的程序做了同步,而且针对不同的应用使用了多个ADO.NETConnection,我想我应该自己动手来好好研究一下这个问题了,它很意思。接下来我该好好分析我的程序并做一系列的测试来找到那个炸弹。