Skip to content

Latest commit

 

History

History
44 lines (38 loc) · 1.5 KB

File metadata and controls

44 lines (38 loc) · 1.5 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.0 - 2026-05-24

Added

  • Initial release of JThreadPool
  • ThreadPoolConfig - Builder-based configuration for thread pools
    • Configurable core/max pool sizes
    • Configurable keep-alive time
    • Configurable queue capacity
    • Validation for all parameters
    • Default configuration factory method
  • ManagedThreadPool - Application-scoped thread pool implementation
    • Named threads with application ID prefix
    • Uncaught exception handler with logging
    • CallerRunsPolicy for rejected tasks
    • Graceful shutdown with 30-second timeout
    • Force shutdown fallback
    • AutoCloseable support for try-with-resources
    • Real-time statistics tracking
  • ThreadPoolStats - Immutable statistics snapshot
    • Active thread count
    • Completed task count
    • Queued task count
    • Current/core/maximum pool sizes
    • Human-readable toString()
  • Comprehensive test coverage (10 passing tests)
  • Thread-safe concurrent operations

Features

  • Automatic thread naming: {app-id}-thread-{N}
  • Exception logging for uncaught exceptions
  • Statistics snapshot API
  • Graceful shutdown with timeout
  • Submit Runnable and Callable tasks
  • Execute tasks without Future
  • Query pool state (shutdown, terminated)