# asyncio-concurrency-patterns

Скилл по конкурентности в Python: event loop, корутины, задачи, семафоры и блокировки. Пригодится, когда пишешь асинхронный сервис или клиент.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 489 установок · ★ 62
- Автор: manutej
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-specialized-tools/skills/asyncio-concurrency-patterns/SKILL.md
- Обновлён: 2026-06-13
- HTML: https://affpapa.org/nevibecode/skills/asyncio-concurrency-patterns

## Что делает

Скилл разбирает, как устроен `asyncio` в Python: event loop, корутины через `async def`, задачи, futures, примитивы синхронизации и асинхронные контекстные менеджеры. Материал идёт по паттернам, а не по справочнику API.

Внутри четыре разобранных паттерна с кодом. `asyncio.gather` запускает корутины параллельно и собирает результаты в порядке входа. `asyncio.wait` даёт выбрать, чего ждать: первой завершённой задачи, первой ошибки или всех сразу. `asyncio.Semaphore` ограничивает число одновременных операций, а `asyncio.Lock` закрывает критическую секцию. Примеры построены на `aiohttp`, так что для запуска кода понадобится эта библиотека.

Практическая польза заметна там, где много сетевых вызовов: параллельные HTTP-запросы, вебсокеты, пул соединений к базе. Скилл советует ставить семафор перед запросами к внешнему API, иначе легко упереться в его лимиты. Текст обрезан на разделе про `Lock`, поэтому про остальные примитивы синхронизации подробностей в нём нет.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill asyncio-concurrency-patterns -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/asyncio-concurrency-patterns/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/asyncio-concurrency-patterns/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill asyncio-concurrency-patterns -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/asyncio-concurrency-patterns/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill asyncio-concurrency-patterns -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/asyncio-concurrency-patterns/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install manutej/luxor-claude-marketplace asyncio-concurrency-patterns
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/asyncio-concurrency-patterns/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill asyncio-concurrency-patterns -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/manutej/luxor-claude-marketplace --path plugins/luxor-specialized-tools/skills/asyncio-concurrency-patterns
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/asyncio-concurrency-patterns/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill asyncio-concurrency-patterns -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-specialized-tools/skills/asyncio-concurrency-patterns/SKILL.md

## Когда брать
- запустить параллельные HTTP-запросы и собрать ответы в исходном порядке
- ограничить число одновременных обращений к внешнему API
- дождаться первой завершившейся задачи и отменить остальные
- закрыть общий счётчик асинхронной блокировкой
- описать асинхронный контекстный менеджер для подключения и отключения

## Примеры запросов агенту
- покажи паттерн gather для параллельных запросов через aiohttp
- как ограничить конкурентность запросов семафором в asyncio
- сделай асинхронный контекстный менеджер для соединения с базой

## Похожие
- [asyncio](https://affpapa.org/nevibecode/skills/asyncio.md) — скилл · 476 установок
- [csharp-concurrency-patterns](https://affpapa.org/nevibecode/skills/csharp-concurrency-patterns.md) — скилл · 1600 установок
- [async-python-patterns](https://affpapa.org/nevibecode/skills/async-python-patterns.md) — скилл · 18055 установок
- [kotlin-concurrency-and-flow](https://affpapa.org/nevibecode/skills/kotlin-concurrency-and-flow.md) — скилл · 1100 установок
- [m07-concurrency](https://affpapa.org/nevibecode/skills/m07-concurrency.md) — скилл · 3500 установок
- [golang-concurrency-patterns](https://affpapa.org/nevibecode/skills/golang-concurrency-patterns.md) — скилл · 408 установок

Из того же набора: [manutej/luxor-claude-marketplace](https://affpapa.org/nevibecode/by/manutej/luxor-claude-marketplace.md) — 31 карточка

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
