Skip to content

Add thread_view and enhance advanced API functionality - #52

Merged
Katze719 merged 4 commits into
mainfrom
3.0-refactor
Aug 14, 2026
Merged

Add thread_view and enhance advanced API functionality#52
Katze719 merged 4 commits into
mainfrom
3.0-refactor

Conversation

@Katze719

Copy link
Copy Markdown
Owner
  • Introduced thread_view.hpp for a non-owning control view over std::thread.
  • Updated integration tests to utilize the new composite_thread_registry for merging thread registries.
  • Refactored runtime registry functions to improve clarity and maintainability.
  • Enhanced test coverage for advanced API features, including error handling, thread pools, and registry operations.
  • Updated various tests to reflect changes in the underlying thread registry and error handling mechanisms.
  • Ensured all headers are self-contained in tests to catch dependency issues early.

- Introduced `thread_view.hpp` for a non-owning control view over `std::thread`.
- Updated integration tests to utilize the new `composite_thread_registry` for merging thread registries.
- Refactored runtime registry functions to improve clarity and maintainability.
- Enhanced test coverage for advanced API features, including error handling, thread pools, and registry operations.
- Updated various tests to reflect changes in the underlying thread registry and error handling mechanisms.
- Ensured all headers are self-contained in tests to catch dependency issues early.
- Introduced `scheduled_task` and `scheduled_task_backend` classes for managing cancellable scheduled tasks.
- Added `jthread` class to provide a wrapper around `std::jthread` with enhanced functionality.
- Created `this_thread` namespace for thread-specific configuration operations.
- Developed `thread` class to encapsulate standard thread operations with additional configuration capabilities.
- Implemented `thread_view` class for non-owning access to thread properties.
- Updated header inclusions to reflect new implementations and reorganized file structure.
- Modified integration tests and unit tests to accommodate new classes and functionalities.
- Revise migration instructions from 2.4.0 to 3.0.0, emphasizing the lack of compatibility aliases and binary incompatibility.
- Add recommended migration order for transitioning to the new API.
- Clarify changes in includes and namespaces, highlighting the new structure of core and advanced headers.
- Document core type mappings and emphasize that new types are not aliases of their predecessors.
- Update sections on thread state, error handling, and results to reflect the new `result<T>` type.
- Provide examples for migrating thread and pool usage to the new API.
- Detail changes in scheduling and affinity semantics, including validation of portable values.
- Outline the removal of deprecated features and the introduction of new advanced utilities.
- Emphasize the need for rebuilding executables and libraries to ensure compatibility with the new runtime.
- Renamed structures and functions to follow a consistent lowercase naming convention (e.g., `BenchmarkWorkloads` to `benchmark_workloads`, `BM_ThreadPool_MinimalTasks` to `bm_thread_pool_minimal_tasks`).
- Replaced `volatile` variables with regular variables and added `benchmark::DoNotOptimize` calls to prevent compiler optimizations in benchmark tasks.
- Updated session and request structures in web server benchmarks to use lowercase naming.
- Improved readability in tests by ensuring consistent formatting and error handling.
- Added a new CMake option `THREADSCHEDULE_WARNINGS_AS_ERRORS` to treat warnings as errors during the build process.
@Katze719
Katze719 merged commit a6db0cb into main Aug 14, 2026
62 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant