«asynchronous» etiketlenmiş sorular

Zaman uyumsuz programlama, genellikle yazılımın performansını, yanıt verebilirliğini ve / veya oluşturulabilirliğini iyileştirmek amacıyla yüksek gecikme veya düşük önceliğe sahip işlemleri ertelemek için bir stratejidir. Bu tür stratejiler genellikle olay güdümlü programlama ve geri çağrıların bazı kombinasyonları kullanılarak ve isteğe bağlı olarak eşgüdüm ve / veya evreler aracılığıyla eşzamanlılık kullanılarak kullanılır.


4
T-SQL'de Uyku Komutu mu?
Sadece bir süre uyku yapmak için bir T-SQL komutu yazmak için bir yolu var mı? Bir web hizmetini eşzamansız olarak yazıyorum ve eşzamansız kalıbın gerçekten daha ölçeklenebilir hale gelip gelmeyeceğini görmek için bazı testler yapabilmek istiyorum. Yavaş bir dış hizmet "alay etmek" için, yavaş çalışan bir komut dosyası ile bir …


2
Task.Run komutunu doğru bir şekilde kullandığınızda ve yalnızca eşzamansız beklerken
Size ne zaman kullanacağınız konusunda doğru mimari hakkındaki fikrinizi sormak istiyorum Task.Run. WPF .NET 4.5 uygulamamızda (Caliburn Micro framework ile) tembel kullanıcı arayüzü yaşıyorum. Temelde (çok basitleştirilmiş kod parçacıkları) yapıyorum: public class PageViewModel : IHandle<SomeMessage> { ... public async void Handle(SomeMessage message) { ShowLoadingAnimation(); // Makes UI very laggy, but …

6
HttpClient.GetAsync (…), await / async kullanırken asla geri dönmez
Düzenleme: Bu soru aynı sorun olabilir gibi görünüyor, ancak yanıt yok ... Düzenleme: Sınama durumunda 5. görev WaitingForActivationdurumun içinde kalmış gibi görünür . .NET 4.5'te System.Net.Http.HttpClient kullanarak bazı garip davranışlarla karşılaştım - burada "beklemek" çağrısı sonucu (örneğin) httpClient.GetAsync(...)asla dönmeyecek. Bu, yalnızca yeni eşzamansız / bekliyor dil işlevselliği ve Görevler API'sı …

4
Parallel.ForEach'ı nasıl sınırlayabilirim?
Bazı web sayfalarını indirdiğim bir Parallel.ForEach () zaman uyumsuz döngüsü var. Bant genişliğim sınırlıdır, bu yüzden her seferinde yalnızca x sayfa indirebilirim ancak Parallel.ForEach istenen web sayfalarının listesini yürütür. Parallel.ForEach çalıştırılırken iplik numarasını veya başka bir sınırlayıcıyı sınırlamanın bir yolu var mı? Demo kodu: Parallel.ForEach(listOfWebpages, webpage => { Download(webpage); }); …

6
Zaman uyumsuz bir geçersizlik yöntemi tarafından oluşturulan bir istisna yakalayın
Microsoft'tan .NET için zaman uyumsuz CTP'yi kullanarak, çağırma yönteminde zaman uyumsuz bir yöntem tarafından atılan bir istisnayı yakalamak mümkün müdür? public async void Foo() { var x = await DoSomethingAsync(); /* Handle the result, but sometimes an exception might be thrown. For example, DoSomethingAsync gets data from the network and …

7
Zaman uyumsuz / bekliyor sözdizimi nasıl reddedilir?
Eşzamansız / bekleme işlevi tarafından döndürülen bir sözü nasıl reddedebilirim? Örneğin foo(id: string): Promise<A> { return new Promise((resolve, reject) => { someAsyncPromise().then((value)=>resolve(200)).catch((err)=>reject(400)) }); } Zaman uyumsuz / beklemesine çevir async foo(id: string): Promise<A> { try{ await someAsyncPromise(); return 200; } catch(error) {//here goes if someAsyncPromise() rejected} return 400; //this will …

8
Birden fazla zaman uyumsuz görev yürütme ve hepsinin tamamlanmasını bekliyor
Bir konsol uygulamasında birden çok zaman uyumsuz görevi çalıştırmam ve daha fazla işlem yapmadan önce bunların tamamlanmasını beklemem gerekiyor. Orada birçok makale var, ama okudukça kafam karışıyor gibi görünüyor. Görev kütüphanesinin temel prensiplerini okudum ve anladım, ancak bir yerlerde bir bağlantıyı açıkça kaçırıyorum. Görevleri zincirlemenin mümkün olduğunu anlıyorum, böylece başka …

14
Her geri arama tamamlandıktan sonra geri çağırma işlemi tamamlandıktan sonra geri arama
Başlıktan da anlaşılacağı gibi. Bunu nasıl yaparım? whenAllDone()ForEach-döngü her öğe geçti ve bazı asenkron işleme yapıldıktan sonra aramak istiyorum . [1, 2, 3].forEach( function(item, index, array, done) { asyncFunction(item, function itemDone() { console.log(item + " done"); done(); }); }, function allDone() { console.log("All done"); whenAllDone(); } ); Böyle çalışmasını sağlayabiliyor …

11
Async-await başka bir iş parçacığı oluşturmazsa, uygulamaları nasıl yanıt verir?
Zaman ve tekrar tekrar, bunu kullanarak söyledi bkz async- awaitherhangi bir ek konuları oluşturmaz. Bu bir anlam ifade etmiyor çünkü bir bilgisayarın aynı anda 1'den fazla şey yapıyor gibi görünebilmesinin tek yolu Aslında bir seferde 1'den fazla şey yapmak (paralel olarak yürütmek, birden fazla işlemciyi kullanmak) Görevleri zamanlayarak ve aralarında …

2
Eşzamansız programlama ve çoklu iş parçacığı arasındaki fark nedir?
Temelde aynı şey olduklarını düşündüm - görevleri işlemciler arasında bölen programlar (2+ işlemcisi olan makinelerde). Sonra okuyorum bu , hangi diyor ki: Async yöntemlerinin, engellemeyen işlemler olması amaçlanmıştır. Zaman uyumsuz bir yöntemde bekleyen bir ifade, beklenen görev çalışırken geçerli iş parçacığını engellemez. Bunun yerine, ifade yöntemin geri kalanını bir devamı …

3
Dispatch_async'i anlama
Bu kod etrafında bir sorum var dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSData* data = [NSData dataWithContentsOfURL: kLatestKivaLoansURL]; [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES]; }); Bu kodun ilk parametresi dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) Bu koddan, tanımı belirli bir öncelik seviyesinin global eşzamanlı kuyruğunu döndürmesi olan global kuyrukta seri görevler gerçekleştirmesini istiyor muyuz? dispatch_get_global_queueAna kuyrukta kullanmanın avantajı …

12
Zaman uyumsuz yöntemi senkronize olarak çağırmak
Bir asyncyöntem var: public async Task<string> GenerateCodeAsync() { string code = await GenerateCodeService.GenerateCodeAsync(); return code; } Senkronize bir yöntemden bu yöntemi çağırmak gerekiyor. GenerateCodeAsyncEşzamanlı olarak çalışması için yöntemi çoğaltmak zorunda kalmadan bunu nasıl yapabilirim ? Güncelleme Ancak makul bir çözüm bulunamadı. Ancak, HttpClientzaten bu kalıbı uyguladığını görüyorum using (HttpClient client …


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.