Потоки и задержка их выполнения c#
У меня есть код, который обрабатывает некие данные. Распишу чуть ниже. Я создаю потоки таким кодом
for (int i = 0; i < data.thread; i++)
{
Thread th = new Thread(Checker)
{
Priority = ThreadPriority.Highest
};
th.Start();
}
В каждом потоке запускается Parallel.For. Обработка заключается в том, что есть некий List<string> с аккаунтами (log:pass), каждый цикл вытягивается аккаунт и через api делаются запросы к серверу и идет обработка полученного запроса (в основном получаю картинку - работаю/сохраняю ее)
Вот код который отвечает за запись/выдачу аккаунта
private List<string> account = new List<string>();
public string Account
{
get
{
lock (account)
{
if (account.Count != 0)
{
string _account = account[0];
account.Remove(_account);
return _account;
}
return "Account 0";
}
}
set
{
lock (account)
{
if (!string.IsNullOrWhiteSpace(value))
{
account.Add(value);
}
}
}
}
И стоит такая задача, есть сторонняя программа которая подхватывает картинки из моей и тоже их обрабатывает и шлет ответ в мою, ну и дальше по сценарию. Программа которая подхватывает слишком сильно грузит процессор, не всегда, но бывает. Хотелось бы сделать ползунок на подобии "таймаут между действиями" в миллисекундах чтобы разгрузить проц. Задача странная как и весь код. Помогите исправить недостатки кода и как можно сделать таймаут? уф