Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ra1nz0r/counting_concurrency

Работа и расчёты многопоточности.
https://github.com/ra1nz0r/counting_concurrency

cicd concurrency go golang unit-testing

Last synced: about 2 months ago
JSON representation

Работа и расчёты многопоточности.

Awesome Lists containing this project

README

        

Счётчик "многопоточности".

__Горутина, генерирует числа и отправляет их в канал. Далее несколько горутин читают и распределяют их по каналам. Под конец производится обратное действие, из каналов пишутся все числа в один результирующий.__

- __При правильном выполнении кода:__
- [x] Количество и сумма входящих чисел совпадает с количеством и суммой чисел, которые получены из канала вывода.
- [x] Количество проходящих чисел по каналам не должно сильно отличаться.

Числа генерируются с помощью ```context.WithTimeout``` в течение одной секунды.\
Количество обрабатывающих горутин зависит от числа ядер ```runtime.NumCPU()```.\
Вышеуказанные параметры можно изменить в ```cmd/api/app.go```

***
#### Инструкция по локальному запуску:

Запуск производится по-умолчанию: ```go run ./...```\
Тесты выполняются по-умолчанию: ```go test -v ./... -count=1```

***
#### Пример:

![logo](/web/example.jpg)