Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Last active March 5, 2026 18:21
Show Gist options
  • Select an option

  • Save sunmeat/29a127d207d196175a4e341308817a38 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/29a127d207d196175a4e341308817a38 to your computer and use it in GitHub Desktop.
Багатопотоковий консольний пошук слова у файлах з відгуком інтерфейсу

Напишіть консольний додаток на C#, який виконує пошук заданого слова (або фрази) у всіх текстових файлах у вказаній директорії та всіх її вкладених підпапках.

Основні вимоги:

  • Інтерфейс додатку повинен залишатися чуйним під час пошуку (користувач може вводити команди навіть коли пошук триває).
  • Використовувати кілька потоків (не менше 1 робочого потоку + основний потік для інтерфейсу).

Користувач повинен мати змогу:

  • зупинити пошук повністю (скасувати та вийти з пошуку)
  • призупинити (pause) пошук
  • продовжити (resume) після паузи

Інтерфейс у консолі (приклад):

Пошук слова у файлах
─────────────────────
Введіть шлях до директорії: C:\Projects

Введіть слово для пошуку: Odesa

[Пошук запущено...]

Оброблено файлів: 347 / ? Знайдено входжень: 19
Швидкість: ~120 файлів/сек Активні потоки: 2

Команди (натисканням на клавішу):
P – призупинити пошук
R – продовжити
S – зупинити пошук та показати результат
Esc – вийти з програми

Після введення команди програма реагує відразу, робочі потоки зупиняються (очікують), основний потік продовжує приймати команди.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment