☰ Menu
CLI Open source 1 installs/mo

qthreads for Mac

qthreads

Lightweight locality-aware user-level threading runtime

qthreads — overview


The Qthreads API is designed to make using large numbers of threads convenient and easy. The Qthreads API also provides access to full/empty-bit (FEB) semantics, where every word of memory can be marked either full or empty, and a thread can wait for any word to attain either state.

Qthreads is essentially a library for spawning and controlling stackful coroutines: threads with small (4-8k) stacks. The exposed user API resembles OS threads, however the threads are entirely in user-space and use their locked/unlocked status as part of their scheduling.

The library's metaphor is that there are many Qthreads and several "shepherds". Shepherds generally map to specific processors or memory regions, but this is not an explicit part of the API. Qthreads are assigned to specific shepherds and are only allowed to migrate when running on a scheduler that supports work stealing or when migration is explicitly triggered via user APIs.

The API includes utility functions for making threaded loops, sorting, and similar operations convenient.

There is also an experimental interface for qthreads using C++26 senders under development at https://github.com/sandialabs/qthreads-stdexec.

Collaboration

Need help or interested in finding out more? Join us on our Slack channel: https://join.slack.com/t/Qthreads/signup

Compatibility

Millions of Qthreads should run fine even on a machine with a modest amount of RAM. Generally the primary limit to the number of threads that can be spawned is memory use.

This library has been tested, and runs well, on 64-bit ARM and X-86 machines. 32-bit versions of those architectures as well as PowerPC-based architectures may also work.

This library is compatible with most Linux variants as well as OSX. There is some preliminary support for BSD operating systems. Windows is not currently supported.

Building Qthreads

CMake 3.23 or later is required for building from source. Hwloc is also highly recommended.

The following compilers are supported and tested regularly: gcc 9 or later clang 14 or later icc (last supported release) icx 2024 or later aocc 4.2 or later acfl 24.10 Apple clang 15 or later nvc 24.9

To configure and build from source you can run (in the source directory):

Details

轻量级本地感知用户级线程运行时

How to install qthreads

  1. Open Terminal (press ⌘ + Space and type “Terminal”).
  2. If Homebrew is not installed yet, run the command below first.
  3. Run this command:

Latest 10 releases

Last updated 2026-02-11; current version 1.23, with the latest 10 releases listed.

VersionReleasedTypeSizemacOSWindowsLinux
1.232026-02-11Stable————
1.222025-02-26Stable————
1.212024-09-30Stable952 KB———
1.202024-05-02Stable1.2 MB———
1.192023-08-29Stable1.2 MB———
1.23-rc12026-01-29Pre-release————
1.22-rc12025-02-18Pre-release————
1.21rc12024-09-27Pre-release952 KB———
1.20rc12024-04-02Pre-release————
1.19RC2023-08-28Pre-release1.2 MB———

Data from GitHub Releases; stable releases first, each group sorted newest first.

Prebuilt bottle platforms

Official Homebrew bottles cover:

  • Apple silicon · latest macOS
  • Apple silicon · macOS 26 Tahoe
  • Apple silicon · macOS 15 Sequoia
  • Apple silicon · macOS 14 Sonoma
  • Intel · macOS 14 Sonoma
  • Linux · ARM64
  • Linux · x86_64

Compared with similar apps

Only public metadata is compared, with no subjective recommendation; see the compare pages for field-by-field comparisons.

Compared with similar apps
AppVersionLicenseArchitecture30-day installs
qthreads1.23BSD-3-ClauseCLI1
glui2.37ZlibCLI1
pear3.0.0Apache-2.0CLI1
loudmouth1.5.4LGPL-2.1-or-laterCLI0

Similar apps: Command-line Tools

Leave a comment

评论表单加载中…