具有文件数据库的Windows中的多线程

时间:2014-05-21 13:05:09

标签: c# multithreading sqlite thread-safety

我怀疑使用我的应用程序实现多线程。

我的申请结构::

操作系统:Windows 7 代码语言:C#,. NET窗口 数据库:.db(文件数据库) 数据库访问:: SQLite,Spatialite

应用逻辑:(3部分)

  1. 从数据库中获取值,并在新表(temp1)中再次插入数据库进行修改
  2. 从数据库中获取值,并在新表(temp2)中再次插入数据库进行修改
  3. 在'temp1'和'temp2'上运行查询
  4. 在这里,我在想什么。

    我可以创建2个可以在第1和第2个单独运行的线程。 第3个依赖于第1和第2个。

    但我认为第一和第二个线程都无法处理,因为它们都在同一个数据库(文件)上工作。

    我的逻辑写了吗?

1 个答案:

答案 0 :(得分:0)

正如我上面提到的文件数据库,这是不可能的。但我仍然需要做。 所以我把我的逻辑做成如下。

  1. 我复制了该文件。
  2. 制作2个线程并在该数据库上并行启动两个线程。
  3. 在第三个线程启动之前,我将输出组合到一个文件数据库中,然后运行查询。