Microsoft hesabıyla oturum açın
Oturum açın veya hesap oluşturun.
Merhaba,
Farklı bir hesap seçin.
Birden çok hesabınız var
Oturum açmak istediğiniz hesabı seçin.

Belirtiler

.NET Framework 4.6 yeni bir enum türü değeri, RunContinuationsAsynchronously, TaskCompletionSource ve TaskCreationOptions numaralamalar için eklendi. Bu değer görevlerin zaman uyumsuz olarak çalışmasını zorlar ve bu çıkmaz durumları önlemek için yardımcı olur. Bununla birlikte, bir sorun bulundu nerede, devamlılığını (özellikle) Task.WhenAll, Task.WhenAnyveya TaskExtensions.Unwrap devamlılığını oluşturduğunuzda, belirli bazı türleri için seçeneği yok sayılır. Bu nedenle, devamlılığını yine eş zamanlı olarak çalışabilir.

Aşağıdaki örnek bir sorunu gösterir. RunContinuationsAsynchronously değeri doğru olarak çalışıp, devamı her zaman farklı iş parçacıkları zamanlanması çünkü iki iş parçacığı Yazdırılan çıkış kimlikleri asla aynı olacaktır.

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

class Program
{
static void Main()
{
var mres = new ManualResetEventSlim();

Console.WriteLine(Environment.CurrentManagedThreadId);

var tcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);

var t = Task.WhenAll(tcs.Task);

t.ContinueWith(delegate
{
Console.WriteLine(Environment.CurrentManagedThreadId);
mres.Set();
}, TaskContinuationOptions.ExecuteSynchronously);

tcs.SetResult(true);
mres.Wait();
}
}

Çözüm

Şu anda bu soruna yönelik geçici çözüm yoktur. Microsoft .NET Framework takım, gelecekteki bir güncelleştirme dahil etmek için bir çözüm üzerinde çalışmaktadır.


Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?
Gönder’e bastığınızda, geri bildiriminiz Microsoft ürün ve hizmetlerini geliştirmek için kullanılır. BT yöneticiniz bu verileri toplayabilecek. Gizlilik Bildirimi.

Geri bildiriminiz için teşekkürler!

×