1
1
关于这种问题已经写了很多文章。这是Leslie Lamport的一篇基础论文: http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html#time-clocks 维基百科关于操作转换理论的文章是进一步研究的完美起点: http://en.wikipedia.org/wiki/Operational_transformation 对于您的问题,您必须选择一些任意的权重来度量延迟成本与丢失事件成本。您可以维护两个优先级队列,时间顺序,传入事件的位置。您将进行合并,并在两个队列的头上进行一些延迟(以允许无序事件),并丢弃“早于”上次发送的事件的时间戳之前发生的事件。如果这不比你已经想到的更好,那么,至少你可以读到那篇很棒的兰波特论文! |
2
1
我认为优化可能是特定于操作系统的。在您描述的任务中,我考虑了两个线程使用传入数据并将其附加到基于互斥体的具有访问权限的公共流。Linux和Win32都有类似互斥体的过程,但如果您的数据速率真的很高,它们的性能可能会很低。在本例中,我将使用数据块进行操作,这将允许不经常使用互斥。当然,有一个主线程使用数据,它也使用互斥体访问数据。 |
danial · 如何在多个字符串的每个位置找到最频繁的字符 1 年前 |
Manny · 如何比较Perl中的字符串? 2 年前 |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |