TGViewer
Библиотека Go для собеса | вопросы с собеседований Библиотека Go для собеса | вопросы с собеседований @go_interview_lib · 7.47K subscribers
Post #1385 1.57K
Чем signal.NotifyContext отличается от signal.Notify

signal.Notify — низкоуровневый примитив. Он перенаправляет сигналы в предоставленный канал, и приложение само обязано читать из него в горутине, обрабатывать значения и принимать решения.
 
signal.NotifyContext — обёртка поверх того же механизма, но интегрированная с context.Context. Получение сигнала автоматически отменяет контекст, и приложение работает через стандартный ctx.Done() — без ручного управления каналом.
 
На практике это важно, потому что большинство современных Go-библиотек принимают контекст: http.Server.Shutdown(ctx), sql.DB, gRPC-клиенты и т.д. signal.NotifyContext позволяет напрямую связать сигнал ОС с этими вызовами без дополнительного кода.
 
// signal.Notify — ручное управление
ch := make(chan os.Signal, 1)
signal.Notify(ch, syscall.SIGINT)
go func() {
<-ch
// вручную инициировать завершение
}()
 
// signal.NotifyContext — контекст сам распространяет отмену
ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT)
defer stop()
server.Shutdown(ctx) // контекст отменится при SIGINT


🐸 Библиотека Go для собеса
  • 👍 4
More from @go_interview_lib
  1. Sep 18, 2026А вы уже забрали свой подарок ко Дню программиста? К вашему профессиональному празднику Tp…
  2. Sep 15, 2026❓ Какой максимальный размер бинарного файла можно собрать В Go нет встроенного ограничения…
  3. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  4. Aug 4, 2026❓ Объясните разницу между безопасным доступом к байтам строки через срез и использованием…
  5. Aug 4, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
  6. Aug 4, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →