using System.Collections.Generic;
static object valueLocker = new Object();
static List<int> uidList;
static int countThreads = 0;
public static void Main()
Console.WriteLine("Hello World");
uidList = new List<int>();
for (int i = 0; i < 10; i++)
Thread thread = new Thread(TakeUidThread);
while (countThreads < 10)
Console.WriteLine("All threads finished");
public static void TakeUidThread()
while (localuid < uidList.Count)
if (localuid < uidList.Count && localuid != -1)
DoSomeJob(uidList[localuid]);
private static void DoSomeJob(int uid)