const int asyncCounter = 4;
int countGlobal = Convert.ToInt32(17);
for (int i0 = 0; i0 < countGlobal; i0 += asyncCounter)
{
int count;
if (i0 + asyncCounter > countGlobal)
count = countGlobal % asyncCounter;
else
count = asyncCounter;
List<Thread> threads = new List<Thread>();
for (int i = 1; i <= count; ++i)
{
Thread send = new Thread(() => senderThread(i0 + i));
send.Start();
threads.Add(send);
}
foreach (var send in threads)
{
send.Join();
}
}
Поток получает левые значения (например, 18)
Что я не учел?