Содержание курса
1. Начало
2 урока
213
201
2м
2
Открытый
1.1
🚀 Добро пожаловать на курс!
↗
150
150
1м 59с
2
Закрытый
1.2
👋 Давайте знакомиться!
↗
63
51
1м 46с
0
2. Основы многопоточности
6 уроков
324
306
74м
37
Закрытый
2.1
Пример с выводом информации о главном и вторичном потоках
↗
62
55
21м 40с
7
Закрытый
2.2
Пример параллельного запуска рабочих потоков
↗
55
53
7м 31с
6
Закрытый
2.3
Создание потоков с разными приоритетами, фоновым флагом и именам
↗
53
52
6м 57с
6
Закрытый
2.4
Замер производительности способов подсчёта суммы массива
↗
52
49
27м 49с
6
Закрытый
2.5
Самостоятельная работа: сложение матриц
↗
51
48
6м 34с
6
Закрытый
2.6
Самостоятельная работа: веб-сервис
↗
51
49
8м 30с
6
3. Синхронизация потоков
6 уроков
270
256
75м
21
Закрытый
3.1
Введение в гонку потоков и критическая секция
↗
48
46
19м 9с
5
Закрытый
3.2
Самостоятельная работа: система брони билетов
↗
47
46
4м 23с
3
Закрытый
3.3
Введение в Monitor
↗
46
42
15м 9с
3
Закрытый
3.4
Самостоятельная работа: билеты на мониторе
↗
44
42
5м 21с
3
Закрытый
3.5
Проблемы межпроцессного взаимодействия и Mutex
↗
43
38
18м 19с
4
Закрытый
3.6
ReaderWriterLockSlim
↗
42
42
12м 16с
3
4. Продвинутая синхронизация
3 урока
119
103
68м
12
Закрытый
4.1
Проблема ресурсов: Semaphore и SemaphoreSlim
↗
42
37
20м 27с
4
Закрытый
4.2
Сигнальные объекты
↗
40
33
27м 56с
5
Закрытый
4.3
Состояние потоков и взаимная блокировка
↗
37
33
21м 53с
3
5. Управление жизненным циклом потоков
6 уроков
196
189
61м
16
Закрытый
5.1
Возврат результата из вторичного потока
↗
34
33
5м 53с
3
Закрытый
5.2
Остановка вторичного потока
↗
33
32
13м 33с
3
Закрытый
5.3
Пул потоков
↗
34
32
20м 30с
3
Закрытый
5.4
Самостоятельная работа: обновление сервера
↗
32
30
3м 44с
1
Закрытый
5.5
ThreadPool.RegisterWaitForSingleObject
↗
32
31
9м 5с
3
Закрытый
5.6
Обработка ошибок в многопоточном приложении
↗
31
31
12м 13с
3
6. Task и асинхронное программирование
8 уроков
249
240
101м
14
Закрытый
6.1
Асинхронность и Task: первые шаги
↗
31
31
22м 42с
3
Закрытый
6.2
Самостоятельная работа: переезд на Task
↗
31
29
5м 33с
2
Закрытый
6.3
Продолжение выполнения с ContinueWith
↗
32
31
21м 53с
3
Закрытый
6.4
Самостоятельная работа: ContinueWith
↗
31
30
5м 31с
1
Закрытый
6.5
Unwrap
↗
31
31
7м 17с
2
Закрытый
6.6
Обработка исключений в Task
↗
31
30
17м 27с
2
Закрытый
6.7
Самостоятельная работа: переезд Thread → Task
↗
31
28
5м 18с
0
Закрытый
6.8
Отмена Task через CancellationTokenSource
↗
31
30
19м 54с
1
7. Async/Await паттерн
3 урока
90
89
56м
9
Закрытый
7.1
Волшебные async/await
↗
30
30
25м 54с
3
Закрытый
7.2
Синтаксис async/await и контекст потока
↗
30
30
21м 13с
3
Закрытый
7.3
Ошибки await Task.WhenAll
↗
30
29
10м 57с
3
8. Параллельное программирование
6 уроков
164
146
101м
14
Закрытый
8.1
Упоминание о Parallel
↗
29
26
14м 57с
2
Закрытый
8.2
Parallel LINQ
↗
28
25
23м 55с
4
Закрытый
8.3
Потокобезопасные коллекции
↗
28
25
25м 20с
4
Закрытый
8.4
Техническое задание: потокобезопасная очередь
↗
27
25
3м 23с
0
Закрытый
8.5
BlockingCollection
↗
27
23
32м 15с
2
Закрытый
8.6
Техническое задание: использование BlockingCollection
↗
25
22
3м 18с
2
9. Окончание
1 урок
506
29
1м
16
Закрытый
9.1
Бонус оффер
↗
506
29
1м 35с
16