我开发了一个应用程序,每X线程的数量从我的数据库中提取X笔记录。然后每个线程迭代创建的集合并为每条记录进行一些数据验证。 一旦记录被应用程序验证/未验证,它将在数据库中更新为有效/无效。如果数据库中有尚未通过应用程序运行的项目,则记录仅由每个线程提取。有一列表示应用程序是否检索到数据。 因此,根据每个线程的线程和记录数量,系统可能会耗尽数据。我希望应用程序继续检查数据库中是否有未运行的记录,然后开始创建线程的过程,最后验证数据。多线程帮助,再次(winForms)
以下是一个示例: 数据库中有50条记录 我们正在运行5个线程,每个线程有10条记录。 应用程序运行,线程被创建,记录被拉出然后被处理。现在,系统没有数据。用户将更多数据导入数据库。仍在查看是否有任何记录的应用程序发现数据库中有5条新记录。然后它开始整个过程来创建线程并处理记录。
我该如何让系统继续查找数据,但是允许用户在需要时停止系统。我试着用这个:
while(RecordsFound <=0){
…sleepcode
} ;
RunProcessMethod
但是,在等待期间,winform显然会锁定。我尝试将等待逻辑添加到另一个线程,但是担心如果我通过委托从该线程运行处理方法,那么事情会变得很奇怪,因为我在该方法内部创建了其他线程。 想法?
非常感谢!线程仍然让我感到害怕;) – DDiVita 2010-10-22 16:55:45