Cuemon.Threading
7.0.0-alpha
Prefix Reserved
See the version list below for details.
dotnet add package Cuemon.Threading --version 7.0.0-alpha
NuGet\Install-Package Cuemon.Threading -Version 7.0.0-alpha
<PackageReference Include="Cuemon.Threading" Version="7.0.0-alpha" />
paket add Cuemon.Threading --version 7.0.0-alpha
#r "nuget: Cuemon.Threading, 7.0.0-alpha"
// Install Cuemon.Threading as a Cake Addin #addin nuget:?package=Cuemon.Threading&version=7.0.0-alpha&prerelease // Install Cuemon.Threading as a Cake Tool #tool nuget:?package=Cuemon.Threading&version=7.0.0-alpha&prerelease
About
An open-source family of assemblies (MIT license) that targets and complements the Microsoft .NET platform (.NET 6, .NET Core 3.1, .NET Standard 2, Universal Windows Platform and .NET Framework 4.6.1 and newer) by providing vast ways of possibilities for all breeds of coders, programmers, developers and the likes thereof.
It is, by heart, free, flexible and built to extend and boost your agile codebelt.
Cuemon.Threading for .NET
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.
More documentation available at Cuemon for .NET documentation.
Related Packages
- Cuemon.AspNetCore 📦
- Cuemon.AspNetCore.App 🏭
- Cuemon.AspNetCore.Authentication 📦
- Cuemon.AspNetCore.Mvc 📦
- Cuemon.AspNetCore.Razor.TagHelpers 📦
- Cuemon.Core 📦
- Cuemon.Core.App 🏭
- Cuemon.Data 📦
- Cuemon.Data.Integrity 📦
- Cuemon.Data.SqlClient 📦
- Cuemon.Diagnostics 📦
- Cuemon.Extensions.AspNetCore 📦
- Cuemon.Extensions.AspNetCore.Authentication 📦
- Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 📦
- Cuemon.Extensions.AspNetCore.Mvc 📦
- Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json 📦
- Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json 📦
- Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml 📦
- Cuemon.Extensions.AspNetCore.Mvc.RazorPages 📦
- Cuemon.Extensions.Collections.Generic 📦
- Cuemon.Extensions.Collections.Specialized 📦
- Cuemon.Extensions.Core 📦
- Cuemon.Extensions.Data 📦
- Cuemon.Extensions.Data.Integrity 📦
- Cuemon.Extensions.DependencyInjection 📦
- Cuemon.Extensions.Diagnostics 📦
- Cuemon.Extensions.Asp.Versioning 📦
- Cuemon.Extensions.Hosting 📦
- Cuemon.Extensions.IO 📦
- Cuemon.Extensions.Net 📦
- Cuemon.Extensions.Newtonsoft.Json 📦
- Cuemon.Extensions.Newtonsoft.Json.App 🏭
- Cuemon.Extensions.Reflection 📦
- Cuemon.Extensions.Runtime.Caching 📦
- Cuemon.Extensions.Swashbuckle.AspNetCore 📦
- Cuemon.Extensions.Text 📦
- Cuemon.Extensions.Text.Json 📦
- Cuemon.Extensions.Threading 📦
- Cuemon.Extensions.Xml 📦
- Cuemon.Extensions.Xunit 📦
- Cuemon.Extensions.Xunit.App 🏭
- Cuemon.Extensions.Xunit.Hosting 📦
- Cuemon.Extensions.Xunit.Hosting.AspNetCore 📦
- Cuemon.Extensions.Xunit.Hosting.AspNetCore.Mvc 📦
- Cuemon.IO 📦
- Cuemon.Net 📦
- Cuemon.Resilience 📦
- Cuemon.Runtime.Caching 📦
- Cuemon.Security.Cryptography 📦
- Cuemon.Threading 📦
- Cuemon.Xml 📦
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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. |
-
.NETStandard 2.0
- Cuemon.Core (>= 7.0.0-alpha)
-
net6.0
- Cuemon.Core (>= 7.0.0-alpha)
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,907 | 11/13/2024 |
9.0.0-rc.1 | 545 | 11/11/2024 |
9.0.0-preview.12 | 140 | 10/17/2024 |
9.0.0-preview.11 | 273 | 10/9/2024 |
9.0.0-preview.10 | 409 | 10/5/2024 |
9.0.0-preview.9 | 809 | 9/26/2024 |
9.0.0-preview.8 | 172 | 9/23/2024 |
9.0.0-preview.7 | 109 | 9/21/2024 |
9.0.0-preview.6 | 74 | 9/18/2024 |
9.0.0-preview.5 | 174 | 9/13/2024 |
9.0.0-preview.4 | 579 | 9/6/2024 |
9.0.0-preview.3 | 64 | 8/31/2024 |
9.0.0-preview.2 | 81 | 8/23/2024 |
9.0.0-preview.1 | 80 | 8/17/2024 |
8.3.2 | 5,449 | 8/4/2024 |
8.3.1 | 1,818 | 6/2/2024 |
8.3.0 | 3,124 | 4/9/2024 |
8.2.0 | 2,324 | 3/3/2024 |
8.1.0 | 2,960 | 2/10/2024 |
8.1.0-rc1 | 2,094 | 2/8/2024 |
8.1.0-preview.52 | 84 | 2/5/2024 |
8.1.0-preview.20 | 81 | 1/22/2024 |
8.1.0-preview | 2,609 | 1/16/2024 |
8.0.1 | 4,085 | 1/11/2024 |
8.0.0 | 5,701 | 11/14/2023 |
8.0.0-rc2 | 3,155 | 11/13/2023 |
8.0.0-rc1 | 3,297 | 11/7/2023 |
8.0.0-preview.183 | 111 | 11/13/2023 |
8.0.0-preview.182 | 82 | 11/12/2023 |
8.0.0-preview.176 | 103 | 11/12/2023 |
8.0.0-preview.158 | 68 | 11/9/2023 |
7.1.0 | 16,619 | 12/11/2022 |
7.0.0 | 13,956 | 11/9/2022 |
7.0.0-rc.2 | 126 | 11/3/2022 |
7.0.0-rc.1 | 120 | 10/26/2022 |
7.0.0-alpha.2 | 143 | 10/16/2022 |
7.0.0-alpha.1 | 134 | 9/23/2022 |
7.0.0-alpha | 6,171 | 7/12/2022 |
6.4.1 | 25,777 | 5/8/2022 |
6.4.0 | 16,944 | 1/24/2022 |
6.4.0-rc | 6,362 | 1/23/2022 |
6.3.0 | 9,863 | 11/28/2021 |
6.2.0 | 19,852 | 5/30/2021 |
6.1.0 | 9,335 | 5/16/2021 |
6.0.1 | 8,986 | 5/3/2021 |
6.0.1-rc | 6,512 | 5/3/2021 |
6.0.0 | 10,901 | 4/18/2021 |
6.0.0-rc.23 | 188 | 4/18/2021 |
6.0.0-rc.21 | 151 | 4/12/2021 |
6.0.0-rc.20 | 174 | 4/1/2021 |
6.0.0-rc.18 | 254 | 3/22/2021 |
6.0.0-rc.17 | 158 | 3/14/2021 |
6.0.0-rc.16 | 195 | 3/7/2021 |
6.0.0-rc.15 | 179 | 3/4/2021 |
6.0.0-rc.14 | 203 | 3/4/2021 |
6.0.0-rc.12 | 212 | 3/3/2021 |
6.0.0-rc.6 | 182 | 2/28/2021 |
6.0.0-rc.2 | 208 | 2/28/2021 |
5.0.2019.40 | 848 | 2/10/2019 |
5.0.2018.251 | 1,230 | 9/10/2018 |
5.0.2018.250 | 817 | 9/9/2018 |
4.3.2018.2200 | 971 | 8/8/2018 |
4.3.2018.2070 | 881 | 7/27/2018 |
4.2.2018.840 | 1,045 | 2/10/2018 |
Version: 7.0.0
Availability: .NET Standard 2.0, .NET 6.0
# ALM
- CHANGED Dependencies to latest and greatest with respect to TFM
Version: 6.4.1
Availability: .NET Standard 2.0, .NET 5.0, .NET 6.0
# ALM
- CHANGED Dependencies to latest and greatest with respect to TFM
Version: 6.3.0
Availability: .NET Standard 2.0, .NET 5.0, .NET 6.0
# ALM
- ADDED TFM for .NET 6
- CHANGED Dependencies to latest and greatest with respect to TFM
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