Answers for "batchblock greedy"

C#
0

batchblock greedy

Task<TOutput> GetValueFromFastest<TInput, TOutput>(TInput input, Func<TInput, Task<TOutput>> algorithm1,
    Func<TInput, Task<TOutput>> algorithm2)
{
    var broadcastBlock = new BroadcastBlock<TInput>(null);
    var transformBlock1 = new TransformBlock<TInput, TOutput>(algorithm1);
    var transformBlock2 = new TransformBlock<TInput, TOutput>(algorithm2);
    broadcastBlock.LinkTo(transformBlock1);
    broadcastBlock.LinkTo(transformBlock2);
    var writeOnceBlock = new WriteOnceBlock<TOutput>(null);
    transformBlock1.LinkTo(writeOnceBlock);
    transformBlock2.LinkTo(writeOnceBlock);


    broadcastBlock.Post(input);

    return writeOnceBlock.ReceiveAsync();
}
Posted by: Guest on December-23-2020

C# Answers by Framework

Browse Popular Code Answers by Language