Task<TResult> Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yeni Task<TResult> bir nesne başlatır.
Aşırı Yüklemeler
Task<TResult>(Func<TResult>) |
Belirtilen işlevle yeni Task<TResult> bir başlatır. |
Task<TResult>(Func<Object,TResult>, Object) |
Belirtilen işlev ve durumla yeni Task<TResult> bir başlatır. |
Task<TResult>(Func<TResult>, CancellationToken) |
Belirtilen işlevle yeni Task<TResult> bir başlatır. |
Task<TResult>(Func<TResult>, TaskCreationOptions) |
Belirtilen işlev ve oluşturma seçenekleriyle yeni Task<TResult> bir başlatır. |
Task<TResult>(Func<Object,TResult>, Object, CancellationToken) |
Belirtilen eylem, durum ve seçeneklerle yeni Task<TResult> bir başlatır. |
Task<TResult>(Func<Object,TResult>, Object, TaskCreationOptions) |
Belirtilen eylem, durum ve seçeneklerle yeni Task<TResult> bir başlatır. |
Task<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions) |
Belirtilen işlev ve oluşturma seçenekleriyle yeni Task<TResult> bir başlatır. |
Task<TResult>(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions) |
Belirtilen eylem, durum ve seçeneklerle yeni Task<TResult> bir başlatır. |
Task<TResult>(Func<TResult>)
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
Belirtilen işlevle yeni Task<TResult> bir başlatır.
public:
Task(Func<TResult> ^ function);
public Task (Func<TResult> function);
new System.Threading.Tasks.Task<'Result> : Func<'Result> -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of TResult))
Parametreler
- function
- Func<TResult>
Görevde yürütülecek kodu temsil eden temsilci. İşlev tamamlandığında, görevin Result özelliği işlevin sonuç değerini döndürecek şekilde ayarlanır.
Özel durumlar
bağımsız function
değişkenidir null
.
bağımsız function
değişkenidir null
.
Örnekler
Aşağıdaki örnek, yayımlanan kitapları temsil eden metin dosyalarındaki yaklaşık sözcük sayısını sayar. Her görev bir dosyayı açmak, içeriğinin tamamını zaman uyumsuz olarak okumak ve normal bir ifade kullanarak sözcük sayısını hesaplamakla sorumludur. Konsolda Task.WaitAll(Task[]) her kitabın sözcük sayısı görüntülenmeden önce tüm görevlerin tamamlandığından emin olmak için yöntemi çağrılır.
Nesne örnekleme, bu örnekte nesne yürütmeden ayrılmıştır, böylece örnek her dosyanın var olduğundan emin olabilir. Aksi takdirde, eksik dosyanın adını görüntüler. Aksi takdirde, her görevi başlatmak için yöntemini çağırır Task.Start .
using System;
using System.IO;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
public class Example
{
public static async Task Main()
{
string pattern = @"\p{P}*\s+";
string[] titles = { "Sister Carrie", "The Financier" };
Task<int>[] tasks = new Task<int>[titles.Length];
for (int ctr = 0; ctr < titles.Length; ctr++) {
string s = titles[ctr];
tasks[ctr] = new Task<int>( () => {
// Number of words.
int nWords = 0;
// Create filename from title.
string fn = s + ".txt";
StreamReader sr = new StreamReader(fn);
string input = sr.ReadToEndAsync().Result;
sr.Close();
nWords = Regex.Matches(input, pattern).Count;
return nWords;
} );
}
// Ensure files exist before launching tasks.
bool allExist = true;
foreach (var title in titles) {
string fn = title + ".txt";
if (! File.Exists(fn)) {
allExist = false;
Console.WriteLine("Cannot find '{0}'", fn);
break;
}
}
// Launch tasks
if (allExist) {
foreach (var t in tasks)
t.Start();
await Task.WhenAll(tasks);
Console.WriteLine("Word Counts:\n");
for (int ctr = 0; ctr < titles.Length; ctr++)
Console.WriteLine("{0}: {1,10:N0} words", titles[ctr], tasks[ctr].Result);
}
}
}
// The example displays the following output:
// Sister Carrie: 159,374 words
// The Financier: 196,362 words
Imports System.IO
Imports System.Text.RegularExpressions
Imports System.Threading.Tasks
Module Example
Public Sub Main()
Dim pattern As String = "\p{P}*\s+"
Dim titles() As String = { "Sister Carrie",
"The Financier" }
Dim tasks(titles.Length - 1) As Task(Of Integer)
For ctr As Integer = 0 To titles.Length - 1
Dim s As String = titles(ctr)
tasks(ctr) = New Task(Of Integer)( Function()
' Number of words.
Dim nWords As Integer = 0
' Create filename from title.
Dim fn As String = s + ".txt"
Dim sr As New StreamReader(fn)
Dim input As String = sr.ReadToEndAsync().Result
sr.Close()
nWords = Regex.Matches(input, pattern).Count
Return nWords
End Function)
Next
' Ensure files exist before launching tasks.
Dim allExist As Boolean = True
For Each title In titles
Dim fn As String = title + ".txt"
If Not File.Exists(fn) Then
allExist = false
Console.WriteLine("Cannot find '{0}'", fn)
Exit For
End If
Next
' Launch tasks
If allExist Then
For Each t in tasks
t.Start()
Next
Task.WaitAll(tasks)
Console.WriteLine("Word Counts:")
Console.WriteLine()
For ctr As Integer = 0 To titles.Length - 1
Console.WriteLine("{0}: {1,10:N0} words", titles(ctr), tasks(ctr).Result)
Next
End If
End Sub
End Module
' The example displays the following output:
' Sister Carrie: 159,374 words
' The Financier: 196,362 words
Normal ifade deseni \p{P}*\s+
sıfır, bir veya daha fazla noktalama karakteri ve ardından bir veya daha fazla boşluk karakteriyle eşleşir. Toplam eşleşme sayısının yaklaşık sözcük sayısına eşit olduğunu varsayar.
Açıklamalar
Bu oluşturucu yalnızca görevin oluşturulması ve başlatılmasının ayrılmasının gerekli olduğu gelişmiş senaryolarda kullanılmalıdır.
Bu oluşturucuyu çağırmak yerine, bir nesnenin örneğini oluşturmanın ve bir Task<TResult> görevi başlatmanın en yaygın yolu statik Task.Run<TResult>(Func<TResult>) ve TaskFactory<TResult>.StartNew(Func<TResult>) yöntemleri çağırmaktır.
Yalnızca API tüketicisinin beklemesi gereken bir şeye sahip olması için eylem içermeyen bir görev gerekiyorsa, TaskCompletionSource<TResult> bir kullanılmalıdır.
Ayrıca bkz.
Şunlara uygulanır
Task<TResult>(Func<Object,TResult>, Object)
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
Belirtilen işlev ve durumla yeni Task<TResult> bir başlatır.
public:
Task(Func<System::Object ^, TResult> ^ function, System::Object ^ state);
public Task (Func<object,TResult> function, object state);
public Task (Func<object?,TResult> function, object? state);
new System.Threading.Tasks.Task<'Result> : Func<obj, 'Result> * obj -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of Object, TResult), state As Object)
Parametreler
Görevde yürütülecek kodu temsil eden temsilci. İşlev tamamlandığında, görevin Result özelliği işlevin sonuç değerini döndürecek şekilde ayarlanır.
- state
- Object
Eylem tarafından kullanılacak verileri temsil eden bir nesne.
Özel durumlar
bağımsız function
değişkenidir null
.
bağımsız function
değişkenidir null
.
Açıklamalar
Bu oluşturucuyu çağırmak yerine, bir Task<TResult> nesnenin örneğini oluşturmanın ve görevi başlatmanın en yaygın yolu statik TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object) yöntemi çağırmaktır. Bu oluşturucu tarafından sunulan tek avantaj, nesne örneklemesinin görev çağırmasından ayrılmasına izin vermesidir.
Ayrıca bkz.
Şunlara uygulanır
Task<TResult>(Func<TResult>, CancellationToken)
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
Belirtilen işlevle yeni Task<TResult> bir başlatır.
public:
Task(Func<TResult> ^ function, System::Threading::CancellationToken cancellationToken);
public Task (Func<TResult> function, System.Threading.CancellationToken cancellationToken);
new System.Threading.Tasks.Task<'Result> : Func<'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of TResult), cancellationToken As CancellationToken)
Parametreler
- function
- Func<TResult>
Görevde yürütülecek kodu temsil eden temsilci. İşlev tamamlandığında, görevin Result özelliği işlevin sonuç değerini döndürecek şekilde ayarlanır.
- cancellationToken
- CancellationToken
CancellationToken Bu göreve atanacak olan.
Özel durumlar
Oluşturulan CancellationTokenSourcecancellationToken
zaten atılmış.
bağımsız function
değişkenidir null
.
bağımsız function
değişkenidir null
.
Açıklamalar
Bu oluşturucuyu çağırmak yerine, bir nesnenin örneğini oluşturmanın ve bir Task<TResult> görevi başlatmanın en yaygın yolu statik Task.Run<TResult>(Func<TResult>, CancellationToken) ve TaskFactory<TResult>.StartNew(Func<TResult>, CancellationToken) yöntemleri çağırmaktır. Bu oluşturucu tarafından sunulan tek avantaj, nesne örneklemesinin görev çağırmasından ayrılmasına izin vermesidir.
Ayrıca bkz.
Şunlara uygulanır
Task<TResult>(Func<TResult>, TaskCreationOptions)
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
Belirtilen işlev ve oluşturma seçenekleriyle yeni Task<TResult> bir başlatır.
public:
Task(Func<TResult> ^ function, System::Threading::Tasks::TaskCreationOptions creationOptions);
public Task (Func<TResult> function, System.Threading.Tasks.TaskCreationOptions creationOptions);
new System.Threading.Tasks.Task<'Result> : Func<'Result> * System.Threading.Tasks.TaskCreationOptions -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of TResult), creationOptions As TaskCreationOptions)
Parametreler
- function
- Func<TResult>
Görevde yürütülecek kodu temsil eden temsilci. İşlev tamamlandığında, görevin Result özelliği işlevin sonuç değerini döndürecek şekilde ayarlanır.
- creationOptions
- TaskCreationOptions
görevin TaskCreationOptions davranışını özelleştirmek için kullanılır.
Özel durumlar
creationOptions
bağımsız değişkeni için TaskCreationOptionsgeçersiz bir değer belirtir.
bağımsız function
değişkenidir null
.
bağımsız function
değişkenidir null
.
Açıklamalar
Bu oluşturucuyu çağırmak yerine, bir Task<TResult> nesnenin örneğini oluşturmanın ve görevi başlatmanın en yaygın yolu statik TaskFactory<TResult>.StartNew(Func<TResult>, TaskCreationOptions) yöntemi çağırmaktır. Bu oluşturucu tarafından sunulan tek avantaj, nesne örneklemesinin görev çağırmasından ayrılmasına izin vermesidir.
Ayrıca bkz.
Şunlara uygulanır
Task<TResult>(Func<Object,TResult>, Object, CancellationToken)
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
Belirtilen eylem, durum ve seçeneklerle yeni Task<TResult> bir başlatır.
public:
Task(Func<System::Object ^, TResult> ^ function, System::Object ^ state, System::Threading::CancellationToken cancellationToken);
public Task (Func<object,TResult> function, object state, System.Threading.CancellationToken cancellationToken);
public Task (Func<object?,TResult> function, object? state, System.Threading.CancellationToken cancellationToken);
new System.Threading.Tasks.Task<'Result> : Func<obj, 'Result> * obj * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of Object, TResult), state As Object, cancellationToken As CancellationToken)
Parametreler
Görevde yürütülecek kodu temsil eden temsilci. İşlev tamamlandığında, görevin Result özelliği işlevin sonuç değerini döndürecek şekilde ayarlanır.
- state
- Object
İşlev tarafından kullanılacak verileri temsil eden bir nesne.
- cancellationToken
- CancellationToken
CancellationToken Yeni göreve atanacak olan.
Özel durumlar
Oluşturulan CancellationTokenSourcecancellationToken
zaten atılmış.
bağımsız function
değişkenidir null
.
bağımsız function
değişkenidir null
.
Açıklamalar
Bu oluşturucuyu çağırmak yerine, bir Task<TResult> nesnenin örneğini oluşturmanın ve görevi başlatmanın en yaygın yolu statik TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object, CancellationToken) yöntemi çağırmaktır. Bu oluşturucu tarafından sunulan tek avantaj, nesne örneklemesinin görev çağırmasından ayrılmasına izin vermesidir.
Ayrıca bkz.
Şunlara uygulanır
Task<TResult>(Func<Object,TResult>, Object, TaskCreationOptions)
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
Belirtilen eylem, durum ve seçeneklerle yeni Task<TResult> bir başlatır.
public:
Task(Func<System::Object ^, TResult> ^ function, System::Object ^ state, System::Threading::Tasks::TaskCreationOptions creationOptions);
public Task (Func<object,TResult> function, object state, System.Threading.Tasks.TaskCreationOptions creationOptions);
public Task (Func<object?,TResult> function, object? state, System.Threading.Tasks.TaskCreationOptions creationOptions);
new System.Threading.Tasks.Task<'Result> : Func<obj, 'Result> * obj * System.Threading.Tasks.TaskCreationOptions -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of Object, TResult), state As Object, creationOptions As TaskCreationOptions)
Parametreler
Görevde yürütülecek kodu temsil eden temsilci. İşlev tamamlandığında, görevin Result özelliği işlevin sonuç değerini döndürecek şekilde ayarlanır.
- state
- Object
İşlev tarafından kullanılacak verileri temsil eden bir nesne.
- creationOptions
- TaskCreationOptions
görevin TaskCreationOptions davranışını özelleştirmek için kullanılır.
Özel durumlar
creationOptions
bağımsız değişkeni için TaskCreationOptionsgeçersiz bir değer belirtir.
bağımsız function
değişkenidir null
.
bağımsız function
değişkenidir null
.
Açıklamalar
Bu oluşturucuyu çağırmak yerine, bir Task<TResult> nesnenin örneğini oluşturmanın ve görevi başlatmanın en yaygın yolu statik TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object, TaskCreationOptions) yöntemi çağırmaktır. Bu oluşturucu tarafından sunulan tek avantaj, nesne örneklemesinin görev çağırmasından ayrılmasına izin vermesidir.
Ayrıca bkz.
Şunlara uygulanır
Task<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions)
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
Belirtilen işlev ve oluşturma seçenekleriyle yeni Task<TResult> bir başlatır.
public:
Task(Func<TResult> ^ function, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskCreationOptions creationOptions);
public Task (Func<TResult> function, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskCreationOptions creationOptions);
new System.Threading.Tasks.Task<'Result> : Func<'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskCreationOptions -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of TResult), cancellationToken As CancellationToken, creationOptions As TaskCreationOptions)
Parametreler
- function
- Func<TResult>
Görevde yürütülecek kodu temsil eden temsilci. İşlev tamamlandığında, görevin Result özelliği işlevin sonuç değerini döndürecek şekilde ayarlanır.
- cancellationToken
- CancellationToken
Yeni CancellationToken göreve atanacak olan.
- creationOptions
- TaskCreationOptions
görevin TaskCreationOptions davranışını özelleştirmek için kullanılır.
Özel durumlar
Oluşturulan CancellationTokenSourcecancellationToken
zaten atılmış.
creationOptions
bağımsız değişkeni için TaskCreationOptionsgeçersiz bir değer belirtir.
bağımsız function
değişkenidir null
.
bağımsız function
değişkenidir null
.
Açıklamalar
Bu oluşturucuyu çağırmak yerine, bir Task<TResult> nesnenin örneğini oluşturmanın ve görevi başlatmanın en yaygın yolu statik TaskFactory.StartNew<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions, TaskScheduler) yöntemi çağırmaktır. Bu oluşturucu tarafından sunulan tek avantaj, nesne örneklemesinin görev çağırmasından ayrılmasına izin vermesidir.
Ayrıca bkz.
Şunlara uygulanır
Task<TResult>(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions)
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
- Kaynak:
- Future.cs
Belirtilen eylem, durum ve seçeneklerle yeni Task<TResult> bir başlatır.
public:
Task(Func<System::Object ^, TResult> ^ function, System::Object ^ state, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskCreationOptions creationOptions);
public Task (Func<object,TResult> function, object state, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskCreationOptions creationOptions);
public Task (Func<object?,TResult> function, object? state, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskCreationOptions creationOptions);
new System.Threading.Tasks.Task<'Result> : Func<obj, 'Result> * obj * System.Threading.CancellationToken * System.Threading.Tasks.TaskCreationOptions -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of Object, TResult), state As Object, cancellationToken As CancellationToken, creationOptions As TaskCreationOptions)
Parametreler
Görevde yürütülecek kodu temsil eden temsilci. İşlev tamamlandığında, görevin Result özelliği işlevin sonuç değerini döndürecek şekilde ayarlanır.
- state
- Object
İşlev tarafından kullanılacak verileri temsil eden bir nesne.
- cancellationToken
- CancellationToken
CancellationToken Yeni göreve atanacak olan.
- creationOptions
- TaskCreationOptions
görevin TaskCreationOptions davranışını özelleştirmek için kullanılır.
Özel durumlar
Oluşturulan CancellationTokenSourcecancellationToken
zaten atılmış.
creationOptions
bağımsız değişkeni için TaskCreationOptionsgeçersiz bir değer belirtir.
bağımsız function
değişkenidir null
.
bağımsız function
değişkenidir null
.
Açıklamalar
Bu oluşturucuyu çağırmak yerine, bir Task<TResult> nesnenin örneğini oluşturmanın ve görevi başlatmanın en yaygın yolu statik TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions, TaskScheduler) yöntemi çağırmaktır. Bu oluşturucu tarafından sunulan tek avantaj, nesne örneklemesinin görev çağırmasından ayrılmasına izin vermesidir.