如何合并两个有序的Akka流以保存订单

时间:2018-08-27 14:53:57

标签: scala akka streaming akka-stream

假设我们有两个不同的有序akka流源:

StackPanel

我们如何合并这些来源,以便它们的结果流也将被排序?

private void StackPanel_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    var vm = DataContext as EntryItemListViewModel;
    vm.EntryItemViewModel.IsEntrySelected = true;
}

1 个答案:

答案 0 :(得分:2)

您应使用 Source#mergeSorted

  val source1: Source[Int, NotUsed] = Source(List(1, 12, 18))
  val source2: Source[Int, NotUsed] = Source(List(10, 20, 30))

  val mergedOrderedStream: Source[Int, NotUsed] = source1.mergeSorted(source2)

  mergedOrderedStream.runForeach(println)
  // prints
  //  1
  //  10
  //  12
  //  18
  //  20
  //  30