Я читал и смотрел довольно много примеров для Threadpooling, но я просто не могу понять, как они мне нужны. То, что мне удалось получить, - это не то, что мне нужно. Он просто запускает функцию в своем потоке.C# Threadpooling HttpWebRequests
public static void Main()
{
while (true)
{
try
{
ThreadPool.QueueUserWorkItem(new WaitCallback(Process));
Console.WriteLine("ID has been queued for fetching");
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
Console.ReadLine();
}
}
public static void Process(object state)
{
var s = StatsFecther("byId", "0"); //returns all player stats
Console.WriteLine("Account: " + s.nickname);
Console.WriteLine("ID: " + s.account_id);
Console.ReadLine();
}
То, что я пытаюсь сделать, это около 50 нитей происходит (возможно, больше), что выборки данных в последовательную форму PHP, содержащие статистику игрока. Начиная с пользователя 0, вплоть до идентификатора пользователя, я указываю (300 000). Мой вопрос заключается не в том, как получить статистику, я знаю, как получить статистику и прочитать их, но как я пишу Threadpool, который будет продолжать получать статистику, пока не получит 300 000-й идентификатор пользователя, не наступая на носки других потоков и сохраняет статистику, когда она извлекает их в базу данных.
50 потоков одновременно хранящихся данных? По всей вероятности, ваша синхронизация будет вашей самой большой проблемой. – spender