mirror of
https://github.com/goavengers/go-interview.git
synced 2026-02-04 04:36:19 +00:00
Fix a typo
This commit is contained in:
@@ -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