mirror of
https://github.com/goavengers/go-interview.git
synced 2026-11-11 23:07:54 +03:00
Fix a typo
This commit is contained in:
1 parent
12b82c1271
commit
fe96fe3c85
1 file changed
+7
-7
@@ -275,12 +275,14 @@ func main() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Семафор можно легко получить из канала.
|
### <a name="6"></a> 6. Сделать кастомную waitGroup на семафоре
|
||||||
|
|
||||||
|
Семафор можно легко получить из канала.
|
||||||
Чтоб не аллоцировать лишние данные, будем складывать туда пустые структуры.
|
Чтоб не аллоцировать лишние данные, будем складывать туда пустые структуры.
|
||||||
|
|
||||||
В нашем случае мы хотим сделать семафор, который будет ждать выполнения пяти горутин.
|
В нашем случае мы хотим сделать семафор, который будет ждать выполнения пяти горутин.
|
||||||
- Для этого просто добавим вместо обычного канала буфферизированный.
|
- Для этого просто добавим вместо обычного канала буфферизированный.
|
||||||
- И внутри каждой горутины положим в него значение.
|
- И внутри каждой горутины положим в него значение.
|
||||||
- А в конце будем дожидаться, что все ок — мы вычитаем все значения из канала.
|
- А в конце будем дожидаться, что все ок — мы вычитаем все значения из канала.
|
||||||
|
|
||||||
```go
|
```go
|
||||||
@@ -324,6 +326,4 @@ func main() {
|
|||||||
sem.Dec(n)
|
sem.Dec(n)
|
||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### <a name="6"></a> 6. Сделать кастомную waitGroup на семафоре
|
|
||||||
Reference in new issue
Block a user