Как создать задачу или поток в C# и запустить его при необходимости
Привет,в моей программе я получаю некоторые значения каждую секунду с определенного ip-адреса. Я должен сделать некоторую операцию над этими значениями, которая занимает больше секунды. Если я потрачу секунду на эту операцию, я не смогу прочитать значения, сгенерированные в течение этой секунды, и я пропущу эти значения. Поэтому я планирую создать задачу в C# и вызывать ее всякий раз, когда я получаю значения и передаю им значения, чтобы она выполняла операцию, и я не пропустил бы никаких значений.
Я делал следующее
if(array_size)<500 { Task.Run(() => SendMessage(testarray)); }
Но я думаю, что это создает новую задачу каждый раз, когда я вызываю ее, и через несколько часов я получил исключение из памяти.
Не могли бы вы, ребята, предложить мне какой-нибудь эффективный способ решить эту проблему, чтобы я не столкнулся с ошибкой нехватки памяти. Кроме того, если это возможно, пожалуйста, поделитесь фрагментом решения.
Спасибо
Что я уже пробовал:
Я попытался запустить его ,и через несколько часов он рухнул бы с исключением из памяти
BillWoodruff
Есть ли возможность приостановить или задержать входящий поток данных ?
RickZeeland
На каком оборудовании вы запускаете свое приложение, какой процессор, объем памяти и т. д. ?