Я изучаю библиотеку каналов C# и пытаюсь создать шаблон производитель/потребитель. Я написал простой пример и обнаружил, что при его запуске происходит огромный скачок памяти. Пожалуйста, помогите мне выяснить, почему это происходит. Я использую .NET 8, Visual Studio 2022.
Я изучаю библиотеку каналов C# и пытаюсь создать шаблон производитель/потребитель. Я написал простой пример и обнаружил, что при его запуске происходит огромный скачок памяти. Пожалуйста, помогите мне выяснить, почему это происходит. Я использую .NET 8, Visual Studio 2022. [code]public class Program { static async Task Main(string[] args) { ProducerConsumerManager manager = new ProducerConsumerManager(); DataGenerator generator = new DataGenerator(); int data = 0; _ = Task.Run(async () => { for (int i = 0; ; i++) { data = generator.GenerateData(); await manager.ProduceAsync(data); } });
while (true) { var message = await manager.ConsumeAsync(); Console.WriteLine(message); } } } public class DataGenerator { private Random rand = new Random();
public int GenerateData() { return rand.Next(0, 200); } }
public class ProducerConsumerManager { private static Channel _channel = Channel.CreateUnbounded(); private ChannelWriter _writer = _channel.Writer; private ChannelReader _reader = _channel.Reader;
public async Task ProduceAsync(T data) { await _writer.WriteAsync(data); } public async Task ConsumeAsync() { return await _reader.ReadAsync(); } } [/code] Я попробовал добавить await Task.Delay(500) в конце цикла for, но память все еще увеличивается.
Я изучаю библиотеку каналов C# и пытаюсь создать шаблон производитель/потребитель. Я написал простой пример и обнаружил, что при его запуске происходит огромный скачок памяти. Пожалуйста, помогите мне выяснить, почему это происходит. Я использую...
Я изучаю библиотеку каналов C# и пытаюсь создать шаблон производитель/потребитель. Я написал простой пример и обнаружил, что при его запуске происходит огромный скачок памяти. Пожалуйста, помогите мне выяснить, почему это происходит. Я использую...
Я изучаю библиотеку каналов C# и пытаюсь создать шаблон производитель/потребитель. Я написал простой пример и обнаружил, что при его запуске происходит огромный скачок памяти. Пожалуйста, помогите мне выяснить, почему это происходит. Я использую...
Я изучаю библиотеку каналов C# и пытаюсь создать шаблон производитель/потребитель. Я написал простой пример и обнаружил, что при его запуске происходит огромный скачок памяти. Пожалуйста, помогите мне выяснить, почему это происходит. Я использую...
Я изучаю библиотеку каналов C# и пытаюсь создать шаблон производитель/потребитель. Я написал простой пример и обнаружил, что при его запуске происходит огромный скачок памяти. Пожалуйста, помогите мне выяснить, почему это происходит. Я использую...