如何将参数传递到 Channel 的队列编写器中

问题描述 投票:0回答:1

我有一个后台任务需要完成;但是,我无法向通道写入参数。原因是作者只接受了 1 个论点。如何将函数排队以使用参数完成。

    private readonly Channel<Func<double, double, string, CancellationToken, ValueTask>> _queue;

    ...

    public async ValueTask QueueWorkItemAsync(
        Func<double, double, string, CancellationToken, ValueTask> workItem, string args)
    {
        if (workItem is null)
        {
            throw new ArgumentNullException(nameof(workItem));
        }

        // Can't pass args into WriteAsync
        await _queue.Writer.WriteAsync(workItem);
    }
c# channel
1个回答
0
投票

我最终将

Channel
换成了
ConcurrentQueue
。这让我可以更加灵活地添加内容。

© www.soinside.com 2019 - 2024. All rights reserved.