Table of Contents

Class AsyncTaskFactoryOptions

Namespace
Cuemon.Threading
Assembly
Cuemon.Threading.dll

Configuration options for ParallelFactory.

public class AsyncTaskFactoryOptions : AsyncWorkloadOptions, IAsyncOptions, IParameterObject
Inheritance
AsyncTaskFactoryOptions
Implements
Inherited Members

Examples

The following example demonstrates how to configure AsyncTaskFactoryOptions to control task creation options and scheduler when using AdvancedParallelFactory.For.

using System;
using System.Threading.Tasks;
using Cuemon;
using Cuemon.Threading;

namespace MyApp.Examples;

public class AsyncTaskFactoryOptionsExample
{
    public void Demonstrate()
    {
        // Direct instantiation of AsyncTaskFactoryOptions
        var factoryOptions = new AsyncTaskFactoryOptions
        {
            CreationOptions = TaskCreationOptions.None,
            PartitionSize = 2
        };

        var rules = new ForLoopRuleset<int>(0, 10, 1);

        AdvancedParallelFactory.For(rules, i =>
        {
            Console.WriteLine($"Processing item {i}");
        }, o =>
        {
            o.CreationOptions = TaskCreationOptions.None;
            o.Scheduler = TaskScheduler.Default;
            o.PartitionSize = 2;
        });

}
}

Constructors

AsyncTaskFactoryOptions()

Initializes a new instance of the AsyncTaskFactoryOptions class.

public AsyncTaskFactoryOptions()

Remarks

The following table shows the initial property values for an instance of AsyncTaskFactoryOptions.

PropertyInitial Value
PartitionSize2 x ProcessorCount
SchedulerCurrent
CreationOptionsLongRunning

Properties

CreationOptions

Gets or sets the TaskCreationOptions used to create the task.

public TaskCreationOptions CreationOptions { get; set; }

Property Value

TaskCreationOptions

The TaskCreationOptions used to create the task.

Scheduler

Gets or sets the TaskScheduler that is used to schedule the task.

public TaskScheduler Scheduler { get; set; }

Property Value

TaskScheduler

The TaskScheduler that is used to schedule the task.