
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
github.com/FedoseevAlex/OtusGolangHomeWork/hw05_parallel_execution
Необходимо написать функцию для параллельного выполнения заданий в n параллельных горутинах:
len(tasks)
задач (т.е. все задачи);Нужно учесть, что задания могут выполняться разное время, а длина списка задач
len(tasks)
может быть больше или меньше n.
Значение m <= 0 трактуется на усмотрение программиста:
ErrErrorsLimitExceeded
;Имеем 10 задач, n=4 воркера, m=2 ошибки.
--------------ok (узнал, что лимит превышен и остановился)
-----------err
-------err
--------------------ok
Выполнится 4 задачи (2 успешно) <= 4 + 2, остальные задачи не берем.
------ok--------ok (узнал, что лимит превышен и остановился)
-----------err
---err
--------ok-------ok
Выполнится 6 задач (4 успешно) <= 4 + 2, остальные задачи не берем.
-------ok-----ok-----ok-----ok (1 воркер выполнил 4 задачи)
-----------ok-------------ok (2 воркер выполнил 2 задачи)
-----ok---------ok---------ok (3 воркер выполнил 3 задачи)
--------------------ok (4 вокрер выполнил 1 задачу)
Выполнится 10 задач (10 успешно): задач не осталось, воркеры остановились.
При необходимости можно выделять дополнительные функции / ошибки.
sync.WaitGroup
go test -v -race -count=100 .
racedetector
ругается на строчку с ассертом в тестах:Run
остаются висячие горутины, отсюда и получаем data race
-
ассерт в тестах неатомарно обращается к runTasksCount
, в то время как зомби-горутины атомарно пытаюся её поменять.Решение: внимательно посмотреть места выхода из функции и гарантировать, что все порождённые вами горутины завершились к этому моменту.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.