# asyncmux > Documentation for asyncmux ## 日本語 ### Docs - [asyncmux](https://tai-kun.github.io/asyncmux/ja): 非同期処理の排他制御を行うユーティリティーです。デコレーターとロックオブジェクトの 2 つの API で、同じリソースへの同時アクセスを防ぎます。 ### ガイド - [インストール](https://tai-kun.github.io/asyncmux/ja/guide/installation): asyncmux のインストール方法と、デコレーター・using 構文・再入検出に必要な動作要件を説明します。 - [デコレーター](https://tai-kun.github.io/asyncmux/ja/guide/decorators): @asyncmux と @asyncmux.readonly をクラスメソッドに付けて、インスタンス単位で排他制御を行う方法を説明します。 - [手動ロック](https://tai-kun.github.io/asyncmux/ja/guide/manual-locking): asyncmux(this) と asyncmux.readonly(this) を使って任意の範囲をロックする方法と、AsyncmuxLock の解放ルールを説明します。 - [キー付きロック](https://tai-kun.github.io/asyncmux/ja/guide/keyed-locks): Asyncmux クラスを使って、キーごとに独立したロックと、すべてをブロックするグローバルロックを管理する方法を説明します。 - [中断](https://tai-kun.github.io/asyncmux/ja/guide/aborting): AbortSignal をロック要求に渡して、待機中のロック取得を中断する方法と、中断が起きるタイミングを説明します。 - [並行性モデル](https://tai-kun.github.io/asyncmux/ja/guide/concurrency): asyncmux が保証する実行順序、公平性、再入検出のルールと、実行環境による検出範囲の違いを説明します。 - [ベンチマーク](https://tai-kun.github.io/asyncmux/ja/guide/benchmarks): asyncmux のベンチマークの計測環境と結果をまとめます。シナリオごとのスループットをグラフと表で掲載します。 ### リファレンス - [クラスメソッドユーティリティー](https://tai-kun.github.io/asyncmux/ja/reference/class-method-utilities): asyncmux のデフォルトエクスポートが提供するデコレーターと関数のシグネチャー、引数、例外をまとめます。 - [汎用ユーティリティー](https://tai-kun.github.io/asyncmux/ja/reference/general-utilities): Asyncmux クラスと AsyncmuxLock の API をまとめます。lock・rLock のシグネチャー、ロックオプション、解放のルールを説明します。 - [エラー](https://tai-kun.github.io/asyncmux/ja/reference/errors): asyncmux が公開するエラークラスと、メッセージを言語別に切り替える setErrorMessage の使い方をまとめます。 ## English ### Docs - [asyncmux](https://tai-kun.github.io/asyncmux/en): A utility for mutual exclusion of async operations. With two APIs — decorators and lock objects — it prevents concurrent access to the same resource. ### Guide - [Installation](https://tai-kun.github.io/asyncmux/en/guide/installation): How to install asyncmux, and the requirements for decorators, the using syntax, and reentrancy detection. - [Decorators](https://tai-kun.github.io/asyncmux/en/guide/decorators): How to apply @asyncmux and @asyncmux.readonly to class methods for per-instance mutual exclusion. - [Manual locking](https://tai-kun.github.io/asyncmux/en/guide/manual-locking): How to lock an arbitrary scope with asyncmux(this) and asyncmux.readonly(this), and the release rules of AsyncmuxLock. - [Keyed locks](https://tai-kun.github.io/asyncmux/en/guide/keyed-locks): How to use the Asyncmux class to manage per-key independent locks and a global lock that blocks everything. - [Aborting](https://tai-kun.github.io/asyncmux/en/guide/aborting): How to pass an AbortSignal to a lock request to abort a pending acquisition, and when aborts take effect. - [Concurrency model](https://tai-kun.github.io/asyncmux/en/guide/concurrency): The execution order, fairness, and reentrancy detection rules guaranteed by asyncmux, and how the detection scope differs by runtime. - [Benchmarks](https://tai-kun.github.io/asyncmux/en/guide/benchmarks): The benchmark environment and results for asyncmux. Throughput per scenario, with charts and tables. ### Reference - [Class method utilities](https://tai-kun.github.io/asyncmux/en/reference/class-method-utilities): Signatures, arguments, and exceptions for the decorators and functions provided by the asyncmux default export. - [General utilities](https://tai-kun.github.io/asyncmux/en/reference/general-utilities): The Asyncmux class and AsyncmuxLock APIs. Signatures of lock and rLock, lock options, and release rules. - [Errors](https://tai-kun.github.io/asyncmux/en/reference/errors): The error classes exported by asyncmux, and how to switch messages per language with setErrorMessage. ## Agent resources - [llms-full.txt](https://tai-kun.github.io/asyncmux/llms-full.txt): The full Markdown of every page in one file. - [Page Markdown](https://tai-kun.github.io/asyncmux/index.md): Append `.md` to any page URL to fetch that page as raw Markdown. - [JSON API](https://tai-kun.github.io/asyncmux/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at https://tai-kun.github.io/asyncmux/openapi.json. - [API catalog](https://tai-kun.github.io/asyncmux/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here. - [AI catalog](https://tai-kun.github.io/asyncmux/.well-known/ai-catalog.json): ARD manifest of the agent-facing resources on this site (MCP server, skills, APIs). - [agent-readability.json](https://tai-kun.github.io/asyncmux/agent-readability.json): Manifest of every agent-facing artifact on this site. - [Sitemap](https://tai-kun.github.io/asyncmux/sitemap.xml): Every indexable page URL with its last-modified date.