我有一个这样的列表:
[Header/Element]
[Element]
[Element]
[Header]
[Element]
[Element]
[Element]
[Header]
[Element]
...
[Element/Header]
所以这个列表可以或不可以在第一个位置有一个 [Header] 并且最后可能不包含一个 [Header] 元素。
我被分配创建一个算法来对每个标题下的这些元素进行分组,因此,标题的出现可以启动一个新组,下面的所有元素都对应于该组。如果列表的第一个元素不是标题(可能),则应使用默认组,因此直到下一个标题的所有元素都进入该组。最后的元素也是如此:可能没有标题告诉您在哪里结束/开始一个组。到目前为止,对整个列表进行线性迭代并不是很困难。
真正的问题是,有谁知道如何使用多个线程来执行这种分组算法?我想要多个线程的原因是因为这个标题/元素列表可能非常大,所以我认为在列表的不同部分分组多个线程是个好主意。
问题是我不知道执行此操作的过程是什么,以及如何同步线程,特别是列表的布局方式(使用标题,然后使用下面的 X 个元素)。
那么,你们中的任何人以前有解决过这样的问题吗?我对 X 编程语言中的某些特定实现并不真正感兴趣,但主要是我可以用来完成此任务的过程(以及我应该如何同步这些线程以防止重叠)。我使用 C# 以防万一你们中的一些人真的想分享一些代码。