concurrency-patterns
スレッドセーフなコード、ミューテックス、セマフォ、async/awaitパターン、並行データ構造を実装します。並列処理の制御、レースコンディションの解消、または高パフォーマンスな並行システムの構築が必要な場面で活用してください。
description の原文を見る
> Implement thread-safe code, mutexes, semaphores, async/await patterns, and concurrent data structures. Use when handling parallel operations, race conditions, or building high-performance concurrent systems.
SKILL.md 本文
並行処理パターン
目次
概要
適切な同期プリミティブとパターンを使用して、並列実行のための安全な並行コードを実装します。
使用する場面
- マルチスレッドアプリケーション
- 並列データ処理
- 競合状態の防止
- リソースプーリング
- タスク調整
- 高性能システム
- 非同期操作
- ワーカープール
クイックスタート
最小限の動作例:
class PromisePool {
private queue: Array<() => Promise<any>> = [];
private active = 0;
constructor(private concurrency: number) {}
async add<T>(fn: () => Promise<T>): Promise<T> {
while (this.active >= this.concurrency) {
await this.waitForSlot();
}
this.active++;
try {
return await fn();
} finally {
this.active--;
}
}
private async waitForSlot(): Promise<void> {
return new Promise((resolve) => {
const checkSlot = () => {
if (this.active < this.concurrency) {
resolve();
// ... (詳細な実装はリファレンスガイドを参照)
リファレンスガイド
references/ ディレクトリの詳細な実装:
| ガイド | 内容 |
|---|---|
Promise Pool (TypeScript) | Promise Pool (TypeScript) |
Mutex と Semaphore (TypeScript) | Mutex と Semaphore (TypeScript) |
Worker Pool (Node.js) | Worker Pool (Node.js) |
Python スレッドパターン | Python スレッドパターン |
非同期パターン (Python asyncio) | 非同期パターン (Python asyncio) |
Go スタイルチャネル (シミュレーション) | Go スタイルチャネル (シミュレーション) |
ベストプラクティス
✅ すべきこと
- 適切な同期プリミティブを使用する
- リソース枯渇を避けるために並行性を制限する
- 並行操作のエラーを処理する
- 可能な限り不変データを使用する
- 並行コードを十分にテストする
- 並行処理のパフォーマンスをプロファイリングする
- スレッドセーフの保証を文書化する
❌ してはいけないこと
- 同期なしで可変状態を共有する
- 調整に sleep/polling を使用する
- 無制限のスレッド/ワーカーを作成する
- 競合状態を無視する
- 非同期コードでイベントループをブロックする
- リソースのクリーンアップを忘れる
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- aj-geddes
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/aj-geddes/useful-ai-prompts / ライセンス: MIT
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。