WEBVTT

00:00:00.000 --> 00:00:02.910
Hey, arkadaşlar. Geri döndük
benim iyi arkadaşım Dean ile

00:00:02.910 --> 00:00:05.760
gelişmiş konuşma
Async Await, bu yüzden ayarlayın.

00:00:05.760 --> 00:00:12.810
[MÜZİk]

00:00:12.810 --> 00:00:14.925
>> Herkese tekrar hoş geldiniz
Xamarin Gösterisi'ne.

00:00:14.925 --> 00:00:16.110
Ben ev sahibiniz James Montemagno.

00:00:16.110 --> 00:00:18.570
Bugün, ikinci için geri
zaman benim iyi arkadaşım

00:00:18.570 --> 00:00:21.540
Dean Async hakkında konuşurken
Bekliyor. Nasıl gidiyor, Dean?

00:00:21.540 --> 00:00:22.380
İyi. Nasılsın?

00:00:22.380 --> 00:00:24.030
Kesinlikle harika yapıyorum.

00:00:24.030 --> 00:00:26.100
Şimdi, ilk bölümde,

00:00:26.100 --> 00:00:29.610
temel kullanımı gösterdi
Async Await vakaları,

00:00:29.610 --> 00:00:31.665
Sorun nedir, iyi olan.

00:00:31.665 --> 00:00:33.150
Bugün bizim için neler saklıyorsun?

00:00:33.150 --> 00:00:34.200
Bu sefer,

00:00:34.200 --> 00:00:35.700
İleri senaryolar için gidiyoruz.

00:00:35.700 --> 00:00:37.290
Bir sürü kenar davası.

00:00:37.290 --> 00:00:39.780
Gelişmiş senaryolar kullanarak
farklı mekanizmalar

00:00:39.780 --> 00:00:41.610
TPL içinde ve derin gidiyor.

00:00:41.610 --> 00:00:43.440
Çok harika. Serin. Bayıldım.

00:00:43.440 --> 00:00:45.840
Hiç vakit kaybetmeyelim.
Ve kodlara girelim.

00:00:45.840 --> 00:00:47.565
Hemen başlayalım. Anlaşıldı.

00:00:47.565 --> 00:00:50.295
Sonuncusu için bu en çok,

00:00:50.295 --> 00:00:51.750
Karmaşık bir şey söylemek istemiyorum.

00:00:51.750 --> 00:00:53.640
ama çok büyük bir kenar durumda.

00:00:53.640 --> 00:00:54.165
Tamam, tamam.

00:00:54.165 --> 00:00:57.225
Yani bu uzun süren ne
Görev. Tanıdık mısın?

00:00:57.225 --> 00:00:58.035
Öyleyim.

00:00:58.035 --> 00:01:00.260
>> Çok uzun süren görevler

00:01:00.260 --> 00:01:02.960
TPL görevleri vardır
uzun bir süre için çalıştırabilirsiniz.

00:01:02.960 --> 00:01:04.850
Bazen, sadece
Çalıştırmak için bir şey istiyorum.

00:01:04.850 --> 00:01:09.470
Belki çekiyor, belki de.
ivmeölçer değerlerinizi kontrol etmek,

00:01:09.470 --> 00:01:10.880
böyle bir şey,
arka planda çalışıyor.

00:01:10.880 --> 00:01:12.745
Bunu durdurmak istemezsin.

00:01:12.745 --> 00:01:15.360
Yani kötü bir durumda,

00:01:15.360 --> 00:01:17.220
benim kötü örnek burada,

00:01:17.220 --> 00:01:19.190
Ben başlayacağım.

00:01:19.190 --> 00:01:23.285
olan 100 görev
her saniye baskı nokta.

00:01:23.285 --> 00:01:24.350
Bu çok mantıklı.

00:01:24.350 --> 00:01:25.805
Sadece kaçacaklar.

00:01:25.805 --> 00:01:28.410
Ateş le unut, unut gitsin
ve kaçacaklar.

00:01:28.410 --> 00:01:30.210
Görsel Stüdyo sana bağırıyor.

00:01:30.210 --> 00:01:33.060
Kesinlikle. Görsel
Stüdyo benden daha zeki.

00:01:33.060 --> 00:01:36.020
Sonra, bunun üstüne,

00:01:36.020 --> 00:01:38.500
100 görev yürüteceğim.
bu aslında tamamlandı.

00:01:38.500 --> 00:01:39.240
Tamam, tamam.

00:01:39.240 --> 00:01:40.550
Bu yüzden ne göreceğiz
bunlar olur.

00:01:40.550 --> 00:01:43.310
Bu yüzden bu görevler
uygulamanızda,

00:01:43.310 --> 00:01:44.660
Gerçekten koşmak istiyorsun.

00:01:44.660 --> 00:01:46.400
belki HTML indirdiğiniz,

00:01:46.400 --> 00:01:48.920
görüntüleri indirme,
Böyle şeyler yapmak.

00:01:48.920 --> 00:01:50.810
Anlaşıldı. İşte kötü bir örnek.

00:01:50.810 --> 00:01:54.920
100 görev yürütüyoruz.
hangi baskı nokta her saniye.

00:01:54.920 --> 00:01:57.575
Yani bunların her biri
görevler bir nokta yazdırmaktır.

00:01:57.575 --> 00:01:59.705
Her saniye,
Unut gitsin.

00:01:59.705 --> 00:02:02.374
O zaman başlıyoruz.
diğer 100 görev

00:02:02.374 --> 00:02:04.975
hangi testler
Aslında kaçmak istiyoruz.

00:02:04.975 --> 00:02:07.160
Anlıyorum. Peki ne görüyoruz?
çıktı burada o zaman?

00:02:07.160 --> 00:02:08.240
Buradaki çıktıda,

00:02:08.240 --> 00:02:10.370
göreceğiz ki bir demet

00:02:10.370 --> 00:02:12.350
iş parçacıkları nın başlangıç
iş parçacığı havuzundan.

00:02:12.350 --> 00:02:15.545
Bu is.NET yönetimi
bizim için bizim konuları.

00:02:15.545 --> 00:02:16.040
Tamam, tamam. Anladım.

00:02:16.040 --> 00:02:20.285
Daha önce konuşmuştuk. Yani
Görebilirsiniz, gerçekten yavaş.

00:02:20.285 --> 00:02:23.090
Hiçbir ağırlık yok
Bu ikisi arasında.

00:02:23.090 --> 00:02:26.725
Yani 100'ün ikinci partisi.
görevler zaten çalışıyor olmalıdır.

00:02:26.725 --> 00:02:29.940
Ama bunlar çok ısrarcı olduğu için,

00:02:29.940 --> 00:02:32.630
onlar her çalışan
100 görev için ikinci.

00:02:32.630 --> 00:02:35.120
Gerçekten çok zor.
bir süre kadar spin.

00:02:35.120 --> 00:02:38.150
Bu yüzden bir kez iplik göreceksiniz
havuz burada yakalar.

00:02:38.150 --> 00:02:41.380
Bunları görmeye başlamalıyız.
testler ateş. İşte gidiyoruz.

00:02:41.380 --> 00:02:42.130
İşte gidiyoruz.

00:02:42.130 --> 00:02:43.340
Bu yüzden bu görevler

00:02:43.340 --> 00:02:45.275
istiyorum ve onlar konum
tamamlanmasına kadar çalışıyor.

00:02:45.275 --> 00:02:46.610
Ama arada, göreceksin.

00:02:46.610 --> 00:02:50.205
önceki görev yangın ve unutmak
hala kendi nokta yazdırıyorlar.

00:02:50.205 --> 00:02:53.280
Anlıyorum. Seni yakaladım. Bu yüzden.
Her şey yolunda.

00:02:53.280 --> 00:02:56.655
Ayrıca, bu çöp toplama bakın
Biraz deliriyorum.

00:02:56.655 --> 00:02:57.840
Bizimle pek mutlu değil, evet.

00:02:57.840 --> 00:03:02.300
Hayır. Bu da değil.
dürüst olmak gerekirse nadir.

00:03:02.300 --> 00:03:05.090
Bunda vakalar gördük.
iş parçacığı havuzu nerede

00:03:05.090 --> 00:03:08.225
sadece boğulmuş ve hiçbir görev
dakika için başlayabilirsiniz.

00:03:08.225 --> 00:03:10.970
Bazen, yanlış kullanırsanız,

00:03:10.970 --> 00:03:12.320
sıkışıp kaçabilir.

00:03:12.320 --> 00:03:14.045
Seni yakaladım. Peki bunu nasıl düzeltebilirim?

00:03:14.045 --> 00:03:16.070
O zaman yeniden başlayalım.

00:03:16.070 --> 00:03:18.215
emin olmak için uygulama
Bu görevler öldü.

00:03:18.215 --> 00:03:19.550
Seni yakaladım.

00:03:19.550 --> 00:03:21.545
O zaman düzeltmeye gideriz.

00:03:21.545 --> 00:03:21.995
Tabii ki.

00:03:21.995 --> 00:03:25.340
Bu yüzden var
bunu yapmak için araçlar.

00:03:25.340 --> 00:03:27.965
Bir sürü uzun şey imiz olabilir.
arka planda çalışan,

00:03:27.965 --> 00:03:31.610
ama yapmamız gereken şey.
Task.Factory.StartNew kullanın.

00:03:31.610 --> 00:03:34.055
İçindeki bu kod aynı.

00:03:34.055 --> 00:03:35.960
Sadece o noktaları basıyoruz.

00:03:35.960 --> 00:03:39.420
Ama sonra, parametrede
oluşturma seçenekleri için,

00:03:39.420 --> 00:03:42.135
eklemeniz gerekir
TaskCreationOptions.Longrunning.

00:03:42.135 --> 00:03:45.945
Anlıyorum. Yani bu bir şey.
dahili to.NET görev fabrikası.

00:03:45.945 --> 00:03:48.570
Ne fark eder ki?
bu Task.Start arasında

00:03:48.570 --> 00:03:50.460
ve görev fabrikası?
Buradan başla, sanırım.

00:03:50.460 --> 00:03:52.110
Yani Görevler.Run aslında

00:03:52.110 --> 00:03:56.430
Task.Factory.StartNew ile
varsayılan parametreler.

00:03:56.430 --> 00:03:57.915
Bizim için kestirme bir yol.

00:03:57.915 --> 00:03:58.440
Seni yakaladım.

00:03:58.440 --> 00:04:01.100
Yani Task.Factory.StartNew
daha ince taneli.

00:04:01.100 --> 00:04:02.180
Bir sürü parametremiz var.

00:04:02.180 --> 00:04:03.695
Referansa bağlantı ekledim.

00:04:03.695 --> 00:04:04.955
Çok güzel.

00:04:04.955 --> 00:04:08.180
Çok daha fazlası var.
Oraya sığabileceğimizden daha fazla.

00:04:08.180 --> 00:04:11.785
Ama, temel olarak, biz ayarlamak
uzun çalışan olarak bir görev,

00:04:11.785 --> 00:04:15.695
ayrı bir iş parçacığı vardır
hakkında akıllı olduğu havuz

00:04:15.695 --> 00:04:19.655
ve aşırı abone olmak mümkün olacak.

00:04:19.655 --> 00:04:23.510
Belgeleri okuyabilirsiniz.
Bir bakalım.

00:04:23.510 --> 00:04:26.500
Tek değişiklik bu.
Görev.Fabrika.Başlangıç Yeni.

00:04:26.500 --> 00:04:30.540
Göreceğiz, bunlar
Nokta yazdıran 100 görev.

00:04:30.540 --> 00:04:33.420
Diğer görevlerimiz zaten başlıyor.

00:04:33.420 --> 00:04:34.185
Evet, evet.

00:04:34.185 --> 00:04:36.465
Aynen böyle. Biz
beklemesine bile gerek yoktu.

00:04:36.465 --> 00:04:38.580
Yani daha önce, biz
Aslında bir gofret vardı.

00:04:38.580 --> 00:04:41.100
Bir demet, hepsi olsun
Planlanan. Her şey oldu.

00:04:41.100 --> 00:04:44.945
Şimdi, biz gerçekten görüyoruz
şeyler beklendiği gibi çalışır.

00:04:44.945 --> 00:04:46.985
En başından beri,

00:04:46.985 --> 00:04:49.590
tüm görevler tüm edildi
aynı anda çalışıyor.

00:04:49.590 --> 00:04:50.220
Kesinlikle.

00:04:50.220 --> 00:04:52.025
>> Uzun süren
hala devam ediyor.

00:04:52.025 --> 00:04:55.310
Bunları zaten tamamladın.
100 görev nerede oturdu önce

00:04:55.310 --> 00:04:58.565
ne gibi 20 saniye için
onu bekliyor. Bu delilik.

00:04:58.565 --> 00:04:58.790
Evet, evet.

00:04:58.790 --> 00:04:59.480
Çok güzel.

00:04:59.480 --> 00:05:00.305
Bu delilik.

00:05:00.305 --> 00:05:02.115
Dean, bu harika.

00:05:02.115 --> 00:05:04.800
Sadece çok büyük içerik
Tam şurada toplandım.

00:05:04.800 --> 00:05:05.160
Teşekkürler, James.

00:05:05.160 --> 00:05:07.550
Şimdi, tabii ki, biz koyacağız
göstermek için tüm bağlantılar

00:05:07.550 --> 00:05:10.490
için aşağıdaki gösteri notları
en iyi uygulamaların tümü,

00:05:10.490 --> 00:05:12.545
dokümantasyon, bu
örnek kod, her şey.

00:05:12.545 --> 00:05:17.030
Ayrıca gidebilirsiniz
aka.MS/xamarinbestpractices

00:05:17.030 --> 00:05:19.310
tüm hakkında daha fazla bilgi edinmek için
en iyi uygulamaların

00:05:19.310 --> 00:05:21.820
Mobil CAT için Xamarin
Süper harika bir takım.

00:05:21.820 --> 00:05:23.695
Dean, çok teşekkür ederim.
Tüm bunları gösterdiğin için.

00:05:23.695 --> 00:05:24.850
>> Sahip olduğu için teşekkürler
Ben şovda, James.

00:05:24.850 --> 00:05:26.675
Kesinlikle. Şerefe. Emin ol

00:05:26.675 --> 00:05:28.925
Eğer Xamarin izleyin
YouTube'da göster,

00:05:28.925 --> 00:05:30.425
Kanal 9. Nereye gideceğini biliyorsun.

00:05:30.425 --> 00:05:31.850
Şu bildirim ziline vur.

00:05:31.850 --> 00:05:33.725
bir parçası haline
bildirim ekibi.

00:05:33.725 --> 00:05:35.390
Ben James Montemagno.

00:05:35.390 --> 00:05:38.550
Xamarin Gösterisi ve
izlediğiniz için teşekkürler.

00:05:45.230 --> 00:05:48.050
Hey, James burada.
Sadece kontrol etmek istedim.

00:05:48.050 --> 00:05:50.105
ve için teşekkür ederim
Bu videoyu izliyorum.

00:05:50.105 --> 00:05:53.195
Şimdi, her şeyi yapmak
gibi yapmak istediğinizi biliyorum,

00:05:53.195 --> 00:05:55.760
abone olmak ve ding
bu bildirim zili,

00:05:55.760 --> 00:05:57.770
bir parçası haline
bildirim ekibi.

00:05:57.770 --> 00:05:59.150
Buradayken, bir göz atın.

00:05:59.150 --> 00:06:02.360
tüm bu harika videolar
Daha önce kaydettiğim.

00:06:02.360 --> 00:06:05.970
Şu şeye tıkla. Tıklatın
bu kadar. Dikkat et. Yap.

