static void Main(string[] args) { while (true) { if (!MessageQueue.Exists(MQueue.ConnectionTask)) { Console.WriteLine("Queue is not found"); Thread.Sleep(1000); continue; } SubTask st = MQueue.ReceiveSubTask(MQueue.ConnectionTask); st.Run(); Console.WriteLine(st.answer + " " + st.id + " " + st.lowerBound + " " + st.upperBound + " " + st.number); } }
static void CheckAnswer() { while (true) { if (tasksInProcess.Count == 0) { trd.Suspend(); } SubTask st = MQueue.ReceiveSubTask(MQueue.ConnectionAnswer); Task hk = (Task)tasksInProcess.FirstOrDefault <Task>(task => (task.id == st.id)); hk.SetResultOfSubTask(st); if (hk.IsAllSubTasksExecuted()) { hk.group(); TaskManager.makeFinished(hk); } } }