Ahwoo.BRUTAL.Concurrency
2026.10.1
Prefix Reserved
dotnet add package Ahwoo.BRUTAL.Concurrency --version 2026.10.1
NuGet\Install-Package Ahwoo.BRUTAL.Concurrency -Version 2026.10.1
<PackageReference Include="Ahwoo.BRUTAL.Concurrency" Version="2026.10.1" />
<PackageVersion Include="Ahwoo.BRUTAL.Concurrency" Version="2026.10.1" />
<PackageReference Include="Ahwoo.BRUTAL.Concurrency" />
paket add Ahwoo.BRUTAL.Concurrency --version 2026.10.1
#r "nuget: Ahwoo.BRUTAL.Concurrency, 2026.10.1"
#:package Ahwoo.BRUTAL.Concurrency@2026.10.1
#addin nuget:?package=Ahwoo.BRUTAL.Concurrency&version=2026.10.1
#tool nuget:?package=Ahwoo.BRUTAL.Concurrency&version=2026.10.1
Brutal Concurrency
A job scheduling and concurrency library for the BRUTAL framework.
Brutal Concurrency provides a lightweight system for distributing discrete units of work — called jobs — across a pool of worker threads. A central JobScheduler accepts queued IJob instances, each tagged with an estimated cost, and routes them to whichever JobRunner currently has the least work pending. Use it to parallelise game logic, asset loading, simulation steps, or any workload that can be broken into independent tasks.
Platform Support
- Windows (x64)
- Linux (x64)
- macOS (Apple Silicon)
Links
NuGet Packages
- Ahwoo.BRUTAL.Concurrency - Job scheduling and concurrency utilities
For Users
Prerequisites
- .NET SDK (version 10.0 or later)
Installation
To install the package via NuGet, run the following command in your project directory:
dotnet add package Ahwoo.BRUTAL.Concurrency
Usage
Create a JobScheduler with the desired number of worker threads, queue jobs with an estimated cost, then execute and wait:
// Create a scheduler with 3 worker threads
var scheduler = new JobScheduler(runnerCount: 3, "MyScheduler");
// Queue jobs with an estimated relative cost
scheduler.Queue(new MyJob("First"), timeCostEstimate: 10);
scheduler.Queue(new MyJob("Second"), timeCostEstimate: 10);
scheduler.Queue(new MyJob("Third"), timeCostEstimate: 10);
// Kick off execution and wait for all jobs to finish
scheduler.ExecuteJobs();
scheduler.Wait();
Jobs implement the IJob interface:
public class MyJob(string name) : IJob
{
public void Run() => Console.WriteLine($"{name} running");
}
Please refer to the BRUTAL Documentation for more detailed usage instructions and examples.
For Developers
Prerequisites
Compilation and Testing
To build the solution locally, run the following command in the repository root:
just build
To run the tests, run the following command in the repository root:
just test
Contributing
If you find a bug or have a feature request, please open an issue on GitHub. If you'd like to contribute code, feel free to fork the repository and submit a pull request.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Ahwoo.BRUTAL.Concurrency:
| Package | Downloads |
|---|---|
|
com.IvanMurzak.Brutal.MCP
AI Game Developer (MCP) plugin for games built on the BRUTAL C# framework: runs inside the game process, exposes live game state to AI agents through RQL (query / mutate / schema), runs agent C# in Debug builds (script-execute), captures logs and generates agent skills. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.10.1 | 1,904 | 10/15/2026 |
No code changes since the previous release. This release rebuilds `Ahwoo.BRUTAL.Concurrency` with the current `RocketWerkz.BrutalPackage.Sdk`.
**Full Changelog:** [v2026.10.0...v2026.10.1](https://github.com/RocketWerkz/brutal.concurrency/compare/v2026.10.0...v2026.10.1)