Итак, сначала приведу псевдокод того, что я хочу улучшить.
public List<ProcessData> Processes;
System.Threading.Thread ProcessThread;
void ProcessLoop()
{
while (true)
{
for (int i = 0; i < Processes.Count; i++)
{
if (HasPriority(Processes[i]))
{
Process(Processes[i]);
}
}
System.Threading.Thread.Sleep(1000);
}
}
void AddProcessData(ProcessData pd)
{
Processes.Add(pd);
if (Suspended(ProcessThread))
Resume(ProcessThread);
}
void Startup()
{
ProcessThread = new System.Threading.Thread(ProcessLoop);
ProcessThread.Start();
}
Итак, я хочу заменить 'Sleep' кодом, который приостановит поток или заставит его ждать, покачто-то добавляется в список и затем возобновляется.Мне также нужно, чтобы это было поточно-ориентированным, конечно.