![]() |
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都有类似互斥体的过程,但如果您的数据速率真的很高,它们的性能可能会很低。在本例中,我将使用数据块进行操作,这将允许不经常使用互斥。当然,有一个主线程使用数据,它也使用互斥体访问数据。 |
![]() |
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 6 月前 |
![]() |
Alisa Petrova · 在有向图中更改一对顶点以创建循环 6 月前 |
![]() |
b39b332d · 使用C++标准库实现高效间隔存储 10 月前 |
![]() |
Paul C · 在维基百科上,将二叉搜索树转换为排序链表的算法是否存在错误? 10 月前 |
![]() |
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 10 月前 |
![]() |
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 11 月前 |