public void ScanContent(TreeView trv_theory, TreeView trv_examples, TreeView trv_tests) { if (!Directory.Exists(path) || !Directory.EnumerateFileSystemEntries(path).Any()) { Logs.WriteLine("Контент не обнаружен"); return; } Logs.WriteLine("Запуск потоков-сканеров"); DirectoryScanner theory = new DirectoryScanner(path, "Теория", trv_theory); Thread thread_theory = new Thread(theory.ScanContent); thread_theory.Start(); DirectoryScanner examples = new DirectoryScanner(path, "Примеры", trv_examples); Thread thread_examples = new Thread(examples.ScanContent); thread_examples.Start(); DirectoryScanner tests = new DirectoryScanner(path, "Тесты", trv_tests); Thread thread_tests = new Thread(tests.ScanContent); thread_tests.Start(); while (thread_theory.ThreadState == ThreadState.Running || thread_examples.ThreadState == ThreadState.Running || thread_tests.ThreadState == ThreadState.Running) { Application.DoEvents(); } Logs.WriteLine("Сканеры завершили свою работу"); }
public void ScanContent(TreeView trv_theory, TreeView trv_examples, TreeView trv_tests) { if (!Directory.Exists(path) || !Directory.EnumerateFileSystemEntries(path).Any()) { Logs.WriteLine("Контент не обнаружен"); return; } Logs.WriteLine("Запуск потоков-сканеров"); DirectoryScanner theory = new DirectoryScanner(path, "Теория", trv_theory); Thread thread_theory = new Thread(theory.ScanContent); thread_theory.Start(); DirectoryScanner examples = new DirectoryScanner(path, "Примеры", trv_examples); Thread thread_examples = new Thread(examples.ScanContent); thread_examples.Start(); DirectoryScanner tests = new DirectoryScanner(path, "Тесты", trv_tests); Thread thread_tests = new Thread(tests.ScanContent); thread_tests.Start(); while (thread_theory.ThreadState == ThreadState.Running || thread_examples.ThreadState == ThreadState.Running || thread_tests.ThreadState == ThreadState.Running) { Application.DoEvents(); } Logs.WriteLine("Сканеры завершили свою работу"); }