0

我有一个长期运行的任务,它受益于多线程。

随着时间的推移,每个线程都会添加一个 L2S 实体,每个线程都需要访问该实体中的属性。

由于需要实体的单个实例,因此很难为每个线程使用多个数据上下文。有没有推荐的方法来完成这种情况?

在使用 Linq to SQL 之前,我在经过一定数量的并行迭代后序列化为 XML。这工作得很好,但是数据变得更加复杂,需要 SQL 中可用的关系/查询;

一些附加信息:任务是分析视频帧以找到相似帧的序列。有媒体、帧和镜头的表格。具有多个帧和镜头的媒体 具有多个帧的镜头;帧提取和比较是处理器密集型操作,并受益于多线程。

问题是,对于每个提取的帧。它需要将自己与之前和之后的帧进行比较。前/后帧可能来自单独的线程。因此,将帧和镜头插入到正在处理的单个媒体对象中意味着将来自多个数据上下文的实体合并为 1。

4

1 回答 1

0

我没有解决并行 Linq 问题,而是更改了流程。

而不是尝试从多个线程同时访问相同的项目列表。我已经拆分了项目列表并为每个部分分配了一个线程。

这样,每个线程都可以在自己的列表上执行操作,而不会相互碰撞。然后我编写了一个整理方法来整理列表之间的连接。

于 2012-12-13T17:00:59.537 回答