A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
An industrial-strength lock-free queue for C++.
Note: If all you need is a single-producer, single-consumer queue, I have one of those too.
Features
- Knock-your-socks-off blazing fast performance.
- Single-header implementation. Just drop it in your project.
- Fully thread-safe lock-free queue. Use concurrently from any number of threads.
- C++11 implementation -- elements are moved (instead of copied) where possible.
- Templated, obviating the need to deal exclusively with pointers -- memory is managed for you.
- No artificial limitations on element types or maximum count.
- Memory can be allocated once up-front, or dynamically as needed.
- Fully portable (no assembly; all is done through standard C++11 primitives).
- Supports super-fast bulk operations.
- Includes a low-overhead blocking version (BlockingConcurrentQueue).
- Exception safe.
Reviews
Builds
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.10-static_O2 |
| timestamp |
2026-02-04 13:11:22 UTC (12:10:44 hours ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.10 |
| timestamp |
2026-02-04 13:08:50 UTC (12:13:16 hours ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.10-O2 |
| timestamp |
2026-02-04 13:01:30 UTC (12:20:35 hours ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-static_O3 |
| timestamp |
2026-02-02 21:48:03 UTC (02 03:34:03 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
| timestamp |
2026-02-02 21:43:13 UTC (02 03:38:52 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-O3 |
| timestamp |
2026-02-02 21:40:56 UTC (02 03:41:09 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14 |
| timestamp |
2026-02-02 21:33:44 UTC (02 03:48:22 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-clang_18_llvm_msvc_17.10-static_O2 |
| timestamp |
2026-01-30 03:47:30 UTC (05 21:34:35 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-clang_18_llvm_msvc_17.10-O2 |
| timestamp |
2026-01-30 03:41:46 UTC (05 21:40:19 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-clang_18_llvm_msvc_17.10 |
| timestamp |
2026-01-30 03:39:12 UTC (05 21:42:53 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
| timestamp |
2026-01-29 22:42:27 UTC (06 02:39:38 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-static_O3 |
| timestamp |
2026-01-29 22:41:06 UTC (06 02:40:59 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-O3 |
| timestamp |
2026-01-29 22:31:52 UTC (06 02:50:13 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14 |
| timestamp |
2026-01-29 22:28:11 UTC (06 02:53:54 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++ |
| timestamp |
2026-01-29 13:44:36 UTC (06 11:37:30 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-O3 |
| timestamp |
2026-01-29 13:43:27 UTC (06 11:38:38 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
| timestamp |
2026-01-29 13:42:21 UTC (06 11:39:44 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18 |
| timestamp |
2026-01-29 13:31:02 UTC (06 11:51:03 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-O3 |
| timestamp |
2026-01-29 13:29:01 UTC (06 11:53:04 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-static_O3 |
| timestamp |
2026-01-29 13:27:59 UTC (06 11:54:06 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-clang_17_msvc_msvc_17.10 |
| timestamp |
2026-01-29 13:22:41 UTC (06 11:59:24 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_13.2_mingw_w64-O2 |
| timestamp |
2026-01-29 13:20:57 UTC (06 12:01:09 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_ubuntu_24.04-gcc_13-bindist |
| timestamp |
2026-01-29 13:17:18 UTC (06 12:04:47 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_13.2_mingw_w64-static_O2 |
| timestamp |
2026-01-29 13:09:43 UTC (06 12:12:22 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_13.2_mingw_w64 |
| timestamp |
2026-01-29 13:01:20 UTC (06 12:20:45 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.8-O2 |
| timestamp |
2026-01-29 12:58:05 UTC (06 12:24:01 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_12-bindist |
| timestamp |
2026-01-29 12:55:03 UTC (06 12:27:02 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.8-static_O2 |
| timestamp |
2026-01-29 12:51:13 UTC (06 12:30:52 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.8 |
| timestamp |
2026-01-29 12:49:42 UTC (06 12:32:23 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_13.1 |
| timestamp |
2026-01-29 11:42:46 UTC (06 13:39:19 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_17_libc++ |
| timestamp |
2026-01-29 11:38:50 UTC (06 13:43:15 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_17 |
| timestamp |
2026-01-29 11:30:03 UTC (06 13:52:02 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18-static_O3 |
| timestamp |
2026-01-27 11:17:50 UTC (08 14:04:15 days ago) |
| result |
error (update) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18-O3 |
| timestamp |
2026-01-27 11:17:44 UTC (08 14:04:22 days ago) |
| result |
error (update) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd13.3 |
| tgt config |
freebsd_13-clang_17 |
| timestamp |
2026-01-27 11:09:48 UTC (08 14:12:18 days ago) |
| result |
error (update) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18 |
| timestamp |
2026-01-27 11:09:29 UTC (08 14:12:36 days ago) |
| result |
error (update) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_17 |
| timestamp |
2026-01-27 11:08:25 UTC (08 14:13:40 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_13 |
| timestamp |
2026-01-27 11:04:00 UTC (08 14:18:05 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_40-gcc_14-bindist |
| timestamp |
2026-01-26 12:59:44 UTC (09 12:22:21 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_17_libc++ |
| timestamp |
2026-01-25 10:26:05 UTC (10 14:56:00 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-static_O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++ |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_39-gcc_13-bindist |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin22.5.0 |
| tgt config |
macos_13-clang_15.0 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-static_O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew-O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew-static_O3 |
| result |
unbuilt |