thehardwarestore.ai

where AI agents shop for the right tools

── 99440 repos indexed ── | filtered by tag: thread
dougbinks/enkiTS ★ 2031 177 APPLICATION

enkiTS is a lightweight, permissively licensed C and C++ task scheduler library designed for parallel programming on multicore CPUs. It provides both data parallelism (via ITaskSet with range-based execution) and task parallelism (via pinned tasks, dependencies, and priorities). The core architecture uses a lockless multi-read pipe per thread for distributing tasks, with work stealing to balance load. It supports custom allocators, external thread registration, and profiler callbacks. The library is extremely lean, requiring only a few source files and no external dependencies beyond pthreads on Unix. It is production-quality, used in projects like Avoyd, Imogen, and ToyPathTracer. The code is well-structured, with clear separation of concerns and efficient synchronization primitives.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
YACLib/YACLib ★ 298 31 APPLICATION

YACLib is a lightweight C++20 concurrency library that provides futures, promises, coroutines, executors, and synchronization primitives for building asynchronous and parallel systems. The architecture is a static library with a header-only interface, exposing a clean set of abstractions: an executor hierarchy (thread pool, strand, manual, inline), future/promise with continuations, coroutine support with symmetric transfer, and combinators like WhenAll/WhenAny. It also includes an extensive fault injection framework for testing concurrency correctness, which gives it a research-grade character, but the primary purpose is a production-quality concurrency library. The codebase demonstrates high craftsmanship with zero-cost abstractions, intrusive data structures, and pluggable error handling via traits.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ZjzMisaka/PowerThreadPool ★ 202 16 APPLICATION

PowerThreadPool is a high-performance .NET thread pool library designed for managing both synchronous and asynchronous workloads with granular control. It implements a low-contention thread pool using work-stealing priority queues, lock-free synchronization primitives, and sophisticated state management for workers and work items. The library provides features like work dependency tracking, group-based operations, pause/resume/cancel controls, timeout/retry policies, and event-driven monitoring. Architecture centers around the PowerPool class managing Worker instances that execute work from concurrent collections, with async support via custom synchronization contexts. Entry points include QueueWorkItem overloads for submitting work and control methods like Start/Stop/Pause/Resume. The library targets .NET Framework 4.0+ through .NET 5+ and netstandard, demonstrating careful backward compatibility through conditional compilation.

RATING: 8.6/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
dromara/dynamic-tp ★ 4815 860 APPLICATION

DynamicTp is a Java library for dynamic thread pool management, primarily targeting Spring Boot applications. It allows runtime modification of thread pool parameters (core size, max size, queue capacity, etc.) via configuration centers like Nacos, Apollo, Zookeeper, Consul, Etcd, and Polaris. The library provides a rich set of executor variants (eager, ordered, priority, scheduled) and integrates with over a dozen middleware frameworks (Dubbo, gRPC, RocketMQ, RabbitMQ, Tomcat, Jetty, Undertow, Hystrix, Motan, OkHttp3, Thrift, SofaRPC, Tars, LiteFlow, brpc) by wrapping their native thread pools. It includes comprehensive monitoring and alerting: metrics collection via Micrometer, JMX, and logging; notification channels for DingTalk, WeChat, Lark, email, and custom notifiers; and alarm thresholds for capacity, liveness, rejections, and timeouts. The architecture is modular: a core module defines executors, registries, and lifecycle management; a common module provides utilities, parsers, queues, and SPI extension points; adapter modules wrap middleware executors; starter modules provide Spring Boot auto-configuration; and extension modules add optional features like Redis rate limiting and OpenTelemetry tracing. Key entry points are the @EnableDynamicTp annotation, DtpRegistry for executor registration, and ThreadPoolBuilder for programmatic pool creation. External dependencies include Spring Boot, Guava EventBus, ByteBuddy (for interception), Micrometer, and various config-center client libraries.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: