我有一个长期运行的任务,它受益于多线程。
随着时间的推移,每个线程都会添加一个L2S实体,每个线程都需要访问该实体中的属性。
由于需要实体的单个实例,因此很难为每个线程使用多个datacontext。有没有一种推荐的方法来实现这种情况?
在使用Linq to SQL之前,我是在经过一定数量的并行迭代后序列化到XML的。这工作得很好,但此后数据变得更加复杂,需要SQL中提供的关系/查询;
一些附加信息:任务是分析视频的帧,以找到相似帧的序列。有媒体,帧和镜头的表格。具有多个帧和镜头的媒体具有多个帧的镜头;帧提取和比较是处理器密集型操作,并受益于多线程。
问题是,对于每个提取的帧。它需要将它自己与它之前和之后的帧进行比较。之前/之后的帧可能来自单独的线程。因此,将帧和镜头插入正被处理的单个媒体对象将意味着将来自多个数据上下文的实体组合成1。
发布于 2012-12-14 01:01:00
我没有解决并行Linq问题,而是更改了流程。
而不是试图同时从多个线程访问相同的项目列表。我拆分了项目列表,并为每个部分分配了一个线程。
这样,每个线程都可以在自己的列表上执行操作,而不会相互碰撞。然后,我编写了一个结束方法来整理列表之间的连接。
https://stackoverflow.com/questions/13860635
复制相似问题