SlideShare a Scribd company logo
Что такое GO и зачем
его придумали?
Репушко Антон, 2016г.
Кто и зачем?
• Роб Пайк (Google) и другие
ребята из BellLabs
• Как С, только лучше
Где можно использовать
• Backend
• Сети
• Консоль
• Для душевного успокоения
Go tools + gofmt
• Переменные среды
• gofmt
• Структура директорий
Где работать
• Vim
• IntelliJ Idea
• Atom (VS Code) и т.д.
Где он уже используется
• Docker
• ITooLabs
• Vk notification
• Google
Что есть внутри
• Пакеты (packages).
• bool, byte (не char 8б), rune (char 32б), int(32б), int8,
int16, int32, int64, uint и т.д., float32, float64, complex,
complex64, complex128. Все это находится в пакете
builtin (подключается неявно).
• Функции
• Приведение типов
• Struct и Interface
Процессы, треды и
горутины
Процессы, треды и
горутины
• Отправка и прием сообщения через канал
• go (инициализация новой рутины)
• Блокирующие системные вызовы (сеть/файлы)
• Остановка для GC
Goroutines
• Теория взаимодействующих последовательных
процессов Хоара (CSP)
• Изначально она занимает 2K (внутри стек. Если
нужно больше памяти - он переаллоцируется).
• Можно создавать очень много goroutines. Очень.
• Для передачи информации используются каналы.
Планировщик
• Есть 3 модели нарезки пользовательских потоков
в потоки ядра операционной системы:

1) N:1 (быстрое переключение контекста, но не
использует возможности многоядерных систем)

2) 1:1 (медленное переключение контекста, но
использует все ядра)

3) M:N (быстрое переключение контекста и
использует все ядра)
Планировщик
• M - поток ОС, G - goroutine,
P - планировщик контекста
• Серенькие G - очереди
исполнения (runqueues) и
есть глобальная очередь
исполнения
• Из-за этих самых
контекстов все потоки у
нас - «зеленые»
Планировщик
• Это не работает при:

1) Системном вызове

2) Когда у планировщика кончаются задачи
(заимствование работы)
+/-
• Goroutines
• Простота
• Прозрачность
• нет ООП как
такового
• нет автоматического
приведения типов
• ограниченность
сфер применения
Конец
Спасибо за внимание! Готов выслушать
ваши вопросы

email: repushko.a@gmail.com

More Related Content

What's hot

Язык программирования GO
Язык программирования GOЯзык программирования GO
Язык программирования GO
Python Meetup
 
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав БахмутовGo в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Yandex
 
To Go или не to Go
To Go или не to GoTo Go или не to Go
To Go или не to GoIvan Zezyulya
 
An internal look at HotSpot JVM
An internal look at HotSpot JVMAn internal look at HotSpot JVM
An internal look at HotSpot JVM
Ecommerce Solution Provider SysIQ
 
Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonБеглый обзор "внутренностей" Python
Беглый обзор "внутренностей" Python
Maxim Kulsha
 
"Внутренности" CPython, часть II
"Внутренности" CPython, часть II"Внутренности" CPython, часть II
"Внутренности" CPython, часть II
Python Meetup
 
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
HappyDev-lite
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Yandex
 
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Yandex
 

What's hot (9)

Язык программирования GO
Язык программирования GOЯзык программирования GO
Язык программирования GO
 
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав БахмутовGo в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
 
To Go или не to Go
To Go или не to GoTo Go или не to Go
To Go или не to Go
 
An internal look at HotSpot JVM
An internal look at HotSpot JVMAn internal look at HotSpot JVM
An internal look at HotSpot JVM
 
Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonБеглый обзор "внутренностей" Python
Беглый обзор "внутренностей" Python
 
"Внутренности" CPython, часть II
"Внутренности" CPython, часть II"Внутренности" CPython, часть II
"Внутренности" CPython, часть II
 
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
 
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
 

Similar to Go

2014-11-01 02 Иван Зезюля. To go или не to go
2014-11-01 02 Иван Зезюля. To go или не to go2014-11-01 02 Иван Зезюля. To go или не to go
2014-11-01 02 Иван Зезюля. To go или не to go
Омские ИТ-субботники
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Ontico
 
Andrew Aksyonoff "Архитектура вокруг поиска"
Andrew Aksyonoff "Архитектура вокруг поиска"Andrew Aksyonoff "Архитектура вокруг поиска"
Andrew Aksyonoff "Архитектура вокруг поиска"
Fwdays
 
RTB DSP на языке Go: укрощение buzzwords
RTB DSP на языке Go: укрощение buzzwordsRTB DSP на языке Go: укрощение buzzwords
RTB DSP на языке Go: укрощение buzzwords
Daniel Podolsky
 
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
RTB DSP на языке Go укрощение buzzwords /  Даниил Подольский (Qmobi.Com)RTB DSP на языке Go укрощение buzzwords /  Даниил Подольский (Qmobi.Com)
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
Ontico
 
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...Ontico
 
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...CodeFest
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
Taras Lyapun
 
А. Аксенов "Как мы разрабатываем Сфинкс", DUMP-2014
А. Аксенов "Как мы разрабатываем Сфинкс", DUMP-2014А. Аксенов "Как мы разрабатываем Сфинкс", DUMP-2014
А. Аксенов "Как мы разрабатываем Сфинкс", DUMP-2014it-people
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
Nikita Baksalyar
 
Александр Гладыш — Lua
Александр Гладыш — LuaАлександр Гладыш — Lua
Александр Гладыш — Lua
Yury Yurevich
 
Консольные приложения на Go
Консольные приложения на GoКонсольные приложения на Go
Консольные приложения на Go
Andrey Smirnov
 
Применение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахПрименение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектах
Alex Chistyakov
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
Roman Dvornov
 
Барнаул15
Барнаул15Барнаул15
Барнаул15
Михаил Тюрин
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
0leGG
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016
Nikita Baksalyar
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU
 
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014it-people
 

Similar to Go (20)

2014-11-01 02 Иван Зезюля. To go или не to go
2014-11-01 02 Иван Зезюля. To go или не to go2014-11-01 02 Иван Зезюля. To go или не to go
2014-11-01 02 Иван Зезюля. To go или не to go
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
 
Andrew Aksyonoff "Архитектура вокруг поиска"
Andrew Aksyonoff "Архитектура вокруг поиска"Andrew Aksyonoff "Архитектура вокруг поиска"
Andrew Aksyonoff "Архитектура вокруг поиска"
 
RTB DSP на языке Go: укрощение buzzwords
RTB DSP на языке Go: укрощение buzzwordsRTB DSP на языке Go: укрощение buzzwords
RTB DSP на языке Go: укрощение buzzwords
 
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
RTB DSP на языке Go укрощение buzzwords /  Даниил Подольский (Qmobi.Com)RTB DSP на языке Go укрощение buzzwords /  Даниил Подольский (Qmobi.Com)
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
 
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
 
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
 
А. Аксенов "Как мы разрабатываем Сфинкс", DUMP-2014
А. Аксенов "Как мы разрабатываем Сфинкс", DUMP-2014А. Аксенов "Как мы разрабатываем Сфинкс", DUMP-2014
А. Аксенов "Как мы разрабатываем Сфинкс", DUMP-2014
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
 
Александр Гладыш — Lua
Александр Гладыш — LuaАлександр Гладыш — Lua
Александр Гладыш — Lua
 
Консольные приложения на Go
Консольные приложения на GoКонсольные приложения на Go
Консольные приложения на Go
 
Применение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахПрименение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектах
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
 
Барнаул15
Барнаул15Барнаул15
Барнаул15
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
 
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
 

More from GetDev.NET

Leap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущееLeap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущее
GetDev.NET
 
Гирлянда для программистов
Гирлянда для программистовГирлянда для программистов
Гирлянда для программистов
GetDev.NET
 
Mind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеMind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучше
GetDev.NET
 
Что нового в Visual Studio 2015
Что нового в Visual Studio 2015Что нового в Visual Studio 2015
Что нового в Visual Studio 2015
GetDev.NET
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
GetDev.NET
 
Windows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиковWindows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиков
GetDev.NET
 
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКPhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
GetDev.NET
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
GetDev.NET
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013
GetDev.NET
 
AngularJS
AngularJSAngularJS
AngularJS
GetDev.NET
 
TypeScript
TypeScriptTypeScript
TypeScript
GetDev.NET
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
GetDev.NET
 
Lego Mindstorms
Lego MindstormsLego Mindstorms
Lego Mindstorms
GetDev.NET
 
Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8
GetDev.NET
 
Async Javascript
Async JavascriptAsync Javascript
Async Javascript
GetDev.NET
 
XAML - язык разметки приложений
XAML - язык разметки приложенийXAML - язык разметки приложений
XAML - язык разметки приложений
GetDev.NET
 
Dynamic Language Runtime
Dynamic Language RuntimeDynamic Language Runtime
Dynamic Language Runtime
GetDev.NET
 
JavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработкиJavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработки
GetDev.NET
 
Roslyn - компилятор как сервис
Roslyn - компилятор как сервисRoslyn - компилятор как сервис
Roslyn - компилятор как сервис
GetDev.NET
 
ASP.NET MVC 4
ASP.NET MVC 4ASP.NET MVC 4
ASP.NET MVC 4
GetDev.NET
 

More from GetDev.NET (20)

Leap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущееLeap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущее
 
Гирлянда для программистов
Гирлянда для программистовГирлянда для программистов
Гирлянда для программистов
 
Mind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеMind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучше
 
Что нового в Visual Studio 2015
Что нового в Visual Studio 2015Что нового в Visual Studio 2015
Что нового в Visual Studio 2015
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
 
Windows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиковWindows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиков
 
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКPhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013
 
AngularJS
AngularJSAngularJS
AngularJS
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
 
Lego Mindstorms
Lego MindstormsLego Mindstorms
Lego Mindstorms
 
Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8
 
Async Javascript
Async JavascriptAsync Javascript
Async Javascript
 
XAML - язык разметки приложений
XAML - язык разметки приложенийXAML - язык разметки приложений
XAML - язык разметки приложений
 
Dynamic Language Runtime
Dynamic Language RuntimeDynamic Language Runtime
Dynamic Language Runtime
 
JavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработкиJavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработки
 
Roslyn - компилятор как сервис
Roslyn - компилятор как сервисRoslyn - компилятор как сервис
Roslyn - компилятор как сервис
 
ASP.NET MVC 4
ASP.NET MVC 4ASP.NET MVC 4
ASP.NET MVC 4
 

Go

  • 1. Что такое GO и зачем его придумали? Репушко Антон, 2016г.
  • 2. Кто и зачем? • Роб Пайк (Google) и другие ребята из BellLabs • Как С, только лучше
  • 3. Где можно использовать • Backend • Сети • Консоль • Для душевного успокоения
  • 4. Go tools + gofmt • Переменные среды • gofmt • Структура директорий
  • 5. Где работать • Vim • IntelliJ Idea • Atom (VS Code) и т.д.
  • 6. Где он уже используется • Docker • ITooLabs • Vk notification • Google
  • 7. Что есть внутри • Пакеты (packages). • bool, byte (не char 8б), rune (char 32б), int(32б), int8, int16, int32, int64, uint и т.д., float32, float64, complex, complex64, complex128. Все это находится в пакете builtin (подключается неявно). • Функции • Приведение типов • Struct и Interface
  • 9. Процессы, треды и горутины • Отправка и прием сообщения через канал • go (инициализация новой рутины) • Блокирующие системные вызовы (сеть/файлы) • Остановка для GC
  • 10. Goroutines • Теория взаимодействующих последовательных процессов Хоара (CSP) • Изначально она занимает 2K (внутри стек. Если нужно больше памяти - он переаллоцируется). • Можно создавать очень много goroutines. Очень. • Для передачи информации используются каналы.
  • 11. Планировщик • Есть 3 модели нарезки пользовательских потоков в потоки ядра операционной системы:
 1) N:1 (быстрое переключение контекста, но не использует возможности многоядерных систем)
 2) 1:1 (медленное переключение контекста, но использует все ядра)
 3) M:N (быстрое переключение контекста и использует все ядра)
  • 12. Планировщик • M - поток ОС, G - goroutine, P - планировщик контекста • Серенькие G - очереди исполнения (runqueues) и есть глобальная очередь исполнения • Из-за этих самых контекстов все потоки у нас - «зеленые»
  • 13. Планировщик • Это не работает при:
 1) Системном вызове
 2) Когда у планировщика кончаются задачи (заимствование работы)
  • 14. +/- • Goroutines • Простота • Прозрачность • нет ООП как такового • нет автоматического приведения типов • ограниченность сфер применения
  • 15. Конец Спасибо за внимание! Готов выслушать ваши вопросы
 email: repushko.a@gmail.com