Skip to content

Achpochmak/go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Домашнее задание №2 «Ускорение обработки данных»

Цель:

Модифицируйте приложение, написанное в "Домашнем задании №1", чтобы процесс обработки данных занимал меньше времени.

Задание:

  • Приложение должно работать в независимом режиме. Пользователь может передавать следующую команду, не дожидаясь результатов предыдущей.
  • Ускорьте работу вашего приложения. Реализуйте обработку заданий в два потока, используя один из изученных паттернов конкурентной разработки.
  • Приложение должно использовать механизм блокировки (например, мьютекс) для синхронизации доступа к данным между процессами.

Дополнительные задания:

  • Добавьте обработку системных сигналов, таких как SIGINT (Ctrl+C) и SIGTERM, чтобы корректно завершить работу приложения. При получении сигнала приложение должно завершить все задачи до выхода из консоли (graceful shutdown).
  • Добавьте управление кол-вом горутин через отдельную команду для выполнения. Т.е. кол-во горутин должно изменяться динамически, без рестарта приложения.
  • Добавить нотификации о начале и окончании обработки команды для каждой горутины. Реализовать в отдельной горутине.

Подсказки:

  • Для реагирования на системные сигналы вы можете использовать пакет os/signal в Go.
  • Для синхронизации доступа к файлу между процессами записи и чтения вы можете использовать пакет sync и его мьютексы.
  • Для работы с файлами в Go вы можете использовать пакет os или io/ioutil.

Дедлайны сдачи и проверки задания:

  • 8 июня 23:59 (сдача) / 11 июня, 23:59 (проверка)# go

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages