{"id":27066073,"url":"https://github.com/maxrt101/asyncpp","last_synced_at":"2025-07-23T16:39:30.375Z","repository":{"id":55583372,"uuid":"522736283","full_name":"maxrt101/asyncpp","owner":"maxrt101","description":"Async C++ Utilities","archived":false,"fork":false,"pushed_at":"2023-04-26T11:39:33.000Z","size":18,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-04-26T12:59:18.887Z","etag":null,"topics":["async","cpp17","multiprocessing","multithreading","threading"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxrt101.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-08T23:20:12.000Z","updated_at":"2023-04-26T12:59:18.887Z","dependencies_parsed_at":"2022-08-15T03:40:21.070Z","dependency_job_id":null,"html_url":"https://github.com/maxrt101/asyncpp","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxrt101%2Fasyncpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxrt101%2Fasyncpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxrt101%2Fasyncpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxrt101%2Fasyncpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxrt101","download_url":"https://codeload.github.com/maxrt101/asyncpp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247384988,"owners_count":20930567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","cpp17","multiprocessing","multithreading","threading"],"created_at":"2025-04-05T18:34:57.060Z","updated_at":"2025-04-05T18:34:57.162Z","avatar_url":"https://github.com/maxrt101.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Async CPP\nSome utilities for async programming in C++ that I use.  \nBuilt on top of standard concurrency support headers (`thread`, `atomic`, `condition_variable`, etc).  \nThe main rationale behind this library (aside from just collecting everything that I have ever written on multithreading) is the ease of use.  \nStandard library is often cryptic, and while it allows for far greater configuration, if you haven't used it for some time - you will surely need to look into the docs.  \nAsyncpp, on the other hand, aims to be straightforward and easy to use.  \n\n\n## How to install\nPrerequisites: `gcc`/`clang`, `make`  \nSteps:  \n - Clone the repo  \n - Run `make PREFIX=/path/to/installation/dir`  \n\nThe headers will be installed into `/path/to/installation/dir/include/asyncpp`\n\n\n## Features\n - Simple `async`/`await` (async returns future, await blocks until the future is ready)\n - Thread Pool with templated Task class\n - Configurable Executors\n    - Delayed (Timer)\n    - Interval\n    - Single threaded \n    - Multi threaded \n - Custom Future\n - Lock (also provides scoped lock)\n - Locked (couples resource and a lock)\n - Multiprocessing heplers (`launch`/`launchSync`/`launchAsync` functions)\n - Convinience functions such as `sleep`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxrt101%2Fasyncpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxrt101%2Fasyncpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxrt101%2Fasyncpp/lists"}