Scheduler.ThreadPool, propriété
Obtient le planificateur qui planifie le travail sur le ThreadPool.
Espace de noms :System.Reactive.Concurrency
Assemblée: System.Reactive (en System.Reactive.dll)
Syntaxe
'Declaration
Public Shared ReadOnly Property ThreadPool As ThreadPoolScheduler
Get
'Usage
Dim value As ThreadPoolScheduler
value = Scheduler.ThreadPool
public static ThreadPoolScheduler ThreadPool { get; }
public:
static property ThreadPoolScheduler^ ThreadPool {
ThreadPoolScheduler^ get ();
}
static member ThreadPool : ThreadPoolScheduler
static function get ThreadPool () : ThreadPoolScheduler
Valeur de propriété
Type : System.Reactive.Concurrency.ThreadPoolScheduler
Planificateur du pool de threads.
Notes
Le planificateur threadpool planifie les actions à exécuter sur le pool de threads .NET. Ce planificateur est idéal pour les opérations de courte durée.
Exemples
Cet exemple de code utilise l’opérateur Generate pour générer une séquence d’entiers qui sont des carrés parfaits inférieurs à 1 000. Le traitement associé à l’opérateur de génération est planifié pour s’exécuter sur le pool de threads .NET à l’aide du planificateur ThreadPool.
using System;
using System.Reactive.Linq;
using System.Reactive.Concurrency;
namespace Example
{
class Program
{
static void Main()
{
//*********************************************************************************************//
//*** Generate a sequence of integers which are the perfect squares that are less than 100 ***//
//*********************************************************************************************//
var obs = Observable.Generate(1, // Initial state value
x => x * x < 1000, // The termination condition. Terminate generation when false (the integer squared is not less than 1000)
x => ++x, // Iteration step function updates the state and returns the new state. In this case state is incremented by 1
x => x * x, // Selector function determines the next resulting value in the sequence. The state of type in is squared.
Scheduler.ThreadPool); // The ThreadPool scheduler runs the generation on a thread pool thread instead of the main thread.
using (IDisposable handle = obs.Subscribe(x => Console.WriteLine(x)))
{
Console.WriteLine("Press ENTER to exit...\n");
Console.ReadLine();
}
}
}
}
La sortie suivante illustre l’exécution de l’exemple de code.
Press ENTER to exit...
1
4
9
16
25
36
49
64
81
100
121
144
169
196
225
256
289
324
361
400
441
484
529
576
625
676
729
784
841
900
961