Cuemon.Threading 6.2.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Cuemon.Threading --version 6.2.0                
NuGet\Install-Package Cuemon.Threading -Version 6.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cuemon.Threading" Version="6.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cuemon.Threading --version 6.2.0                
#r "nuget: Cuemon.Threading, 6.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Cuemon.Threading as a Cake Addin
#addin nuget:?package=Cuemon.Threading&version=6.2.0

// Install Cuemon.Threading as a Cake Tool
#tool nuget:?package=Cuemon.Threading&version=6.2.0                

The Cuemon.Threading namespace contains types related to working with long-running concurrent loops and regions that utilizes both synchronous and asynchronous delegates. The namespace is an addition to the System.Threading namespace.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Cuemon.Threading:

Package Downloads
Cuemon.IO

The Cuemon.IO namespace contains types primarily focusing on configuration options for IO related operations. The namespace is an addition to the System.IO namespace.

Cuemon.Diagnostics

The Cuemon.Diagnostics namespace contains types that provide ways for developers to describe exceptions including evidence to why an operation faulted. Also includes a flexible, generic and lambda friendly way to perform both synchronous and asynchronous time measuring operations. The namespace is an addition to the System.Diagnostics namespace.

Cuemon.Runtime.Caching

The Cuemon.Runtime.Caching namespace contains types related to interfaces for generic caching in applications while providing a concrete in-memory cache implementation named SlimMemoryCache. The namespace is an addition to the System.Runtime.Caching namespace.

Cuemon.Resilience

The Cuemon.Resilience namespace contains types related to applying transient fault handling to existing code using intuitively named methods taking both Action{..} and Func{..} delegates to provide a lightweight resilience framework.

Cuemon.Extensions.Threading

The Cuemon.Extensions.Threading namespace contains extension methods that complements the System.Threading namespace.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.0.0 1,018 11/13/2024
9.0.0-rc.1 527 11/11/2024
9.0.0-preview.12 105 10/17/2024
9.0.0-preview.11 267 10/9/2024
9.0.0-preview.10 404 10/5/2024
9.0.0-preview.9 804 9/26/2024
9.0.0-preview.8 164 9/23/2024
9.0.0-preview.7 100 9/21/2024
9.0.0-preview.6 67 9/18/2024
9.0.0-preview.5 165 9/13/2024
9.0.0-preview.4 574 9/6/2024
9.0.0-preview.3 57 8/31/2024
9.0.0-preview.2 76 8/23/2024
9.0.0-preview.1 72 8/17/2024
8.3.2 4,812 8/4/2024
8.3.1 1,803 6/2/2024
8.3.0 2,893 4/9/2024
8.2.0 2,307 3/3/2024
8.1.0 2,941 2/10/2024
8.1.0-rc1 2,081 2/8/2024
8.1.0-preview.52 77 2/5/2024
8.1.0-preview.20 74 1/22/2024
8.1.0-preview 2,601 1/16/2024
8.0.1 4,046 1/11/2024
8.0.0 5,452 11/14/2023
8.0.0-rc2 3,150 11/13/2023
8.0.0-rc1 3,292 11/7/2023
8.0.0-preview.183 106 11/13/2023
8.0.0-preview.182 75 11/12/2023
8.0.0-preview.176 98 11/12/2023
8.0.0-preview.158 63 11/9/2023
7.1.0 16,435 12/11/2022
7.0.0 13,941 11/9/2022
7.0.0-rc.2 121 11/3/2022
7.0.0-rc.1 115 10/26/2022
7.0.0-alpha.2 138 10/16/2022
7.0.0-alpha.1 129 9/23/2022
7.0.0-alpha 6,166 7/12/2022
6.4.1 25,439 5/8/2022
6.4.0 16,932 1/24/2022
6.4.0-rc 6,357 1/23/2022
6.3.0 9,837 11/28/2021
6.2.0 19,586 5/30/2021
6.1.0 9,328 5/16/2021
6.0.1 8,978 5/3/2021
6.0.1-rc 6,490 5/3/2021
6.0.0 10,885 4/18/2021
6.0.0-rc.23 183 4/18/2021
6.0.0-rc.21 146 4/12/2021
6.0.0-rc.20 169 4/1/2021
6.0.0-rc.18 249 3/22/2021
6.0.0-rc.17 153 3/14/2021
6.0.0-rc.16 190 3/7/2021
6.0.0-rc.15 174 3/4/2021
6.0.0-rc.14 196 3/4/2021
6.0.0-rc.12 207 3/3/2021
6.0.0-rc.6 177 2/28/2021
6.0.0-rc.2 204 2/28/2021
5.0.2019.40 840 2/10/2019
5.0.2018.251 1,216 9/10/2018
5.0.2018.250 803 9/9/2018
4.3.2018.2200 956 8/8/2018
4.3.2018.2070 870 7/27/2018
4.2.2018.840 1,034 2/10/2018

Version: 6.0.0
Availability: NET Standard 2.0, NET 5.0
 
# Upgrade Steps
- The extent of refactoring applied to this project resulted in so many breaking changes that a git diff is advisable
 
# New Features
- ADDED AsyncTaskFactoryOptions class in the Cuemon.Threading namespace that specifies options that is related to both ParallelFactory and AdvancedParallelFactory
- ADDED AsyncWorkloadOptions class in the Cuemon.Threading namespace that specifies options that is related to both ParallelFactory and AdvancedParallelFactory
- ADDED AdvancedParallelFactory static class in the Cuemon.Threading namespace that provides a factory based way to work with advanced scenarios that encapsulate and re-use existing code while adding support for typically long-running parallel loops and regions
- ADDED ForLoopRuleset class in the Cuemon.Threading namespace that specifies the rules of a for-loop control flow statement
 
# Breaking Changes
- REMOVED ThreadPoolUtility class from the Cuemon.Threading namespace
 
# Bug Fixes
- APPLIED ConfigureAwait(false) to all async methods
- FIXED a bug that would lead to endless loop if workload was 1 (PartitionSize)
 
# Improvements
- All members now support true async functionality ForAsync, ForResultAsync, WhileAsync, WhileResultAsync, ForEachAsync and ForEachResultAsync
- Advanced members was moved to the AdvancedParallelFactory class to conform to Framework Design Guidelines
 
# Quality Analysis Actions
- APPLIED while loop over for loop https://rules.sonarsource.com/csharp/RSPEC-1264
- JUSTIFIED that types are allowed to have many generic parameters https://rules.sonarsource.com/csharp/RSPEC-2436
- JUSTIFIED that methods are allowed to have many generic parameters https://rules.sonarsource.com/csharp/RSPEC-107