Scheduler.ThreadPool, właściwość
Pobiera harmonogram, który planuje pracę w puli ThreadPool.
Przestrzeń nazw:System.Reactive.Concurrency
Zestawu: System.Reactive (w System.Reactive.dll)
Składnia
'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
Wartość właściwości
Typ: System.Reactive.Concurrency.ThreadPoolScheduler
Harmonogram puli wątków.
Uwagi
Harmonogram ThreadPool planuje wykonywanie akcji w puli wątków platformy .NET. Ten harmonogram jest idealny do wykonywania krótkich operacji.
Przykłady
W tym przykładzie kodu użyto operatora Generowanie, aby wygenerować sekwencję liczb całkowitych, które są idealnymi kwadratami mniejszymi niż 1000. Przetwarzanie skojarzone z operatorem generowania jest zaplanowane do wykonania w puli wątków platformy .NET przy użyciu harmonogramu 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();
}
}
}
}
Poniższe dane wyjściowe pokazują uruchamianie przykładowego kodu.
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