public void TestProgram() { lock (this) { needToTest = ProgPool.pop(this); if (needToTest == null) { __changeTextStatus("Пише свою програму, бо нічого тестити"); __changeStatus(1); return; } __changeTextStatus($"Починає тестувати {needToTest.writer.name} програму"); needToTest.tester = this; Thread.Sleep(Util.randInt(3000, 7000)); needToTest.correct = Util.randBool(); __changeTextStatus($"Програма написана {needToTest.writer.name} є " + (needToTest.correct ? "правильна" : "неправильна")); if (!needToTest.correct) { if (needToTest.writer.status == 3) { needToTest.writer.are.Set(); } } __changeStatus(3); } }
public void MakeOwnProgram() { lock (this) { __changeTextStatus("Пише власну програму"); Thread.Sleep(Util.randInt(4000, 6000)); ownProgram = new Prog() { writer = this }; ProgPool.add(ownProgram); __changeTextStatus("Закінчив написання програми"); __changeStatus(2); } }