WEBVTT

1
00:07.540 --> 00:13.030
Evet arkadaşlar, şimdi bu slaytta olay
döngüsünün iç işleyişini tartışacağız.

2
00:13.570 --> 00:18.280
Diyagramdaki slaytta görebileceğiniz gibi,
bu iki dişli sistemini görebilirsiniz.

3
00:19.000 --> 00:26.050
Bu birlikte sistem aslında bir olay
döngüsü iş parçacığı olarak adlandırılan
bir

4
00:26.050 --> 00:29.290
üçlüyü temsil eder ve bu iş parçacığı
sonsuz bir döngü yürütür.

5
00:30.250 --> 00:35.110
Bu konu sadece askıya alınıp devam
ettirilebilir.

6
00:36.010 --> 00:38.770
Ama bu konu asla sonlanmıyor.

7
00:39.520 --> 00:39.940
Tamam.

8
00:40.420 --> 00:44.920
Yani sonsuz bir döngüde çalışan bir olay
döngüsü iş parçacığımız var.

9
00:45.220 --> 00:49.570
Ve bu konu başlığı sadece bu konu başlığı
ve hakimiyetimiz tarafından bir özgeçmişi
askıya alabilir.

10
00:50.470 --> 00:56.490
Sonra gördüğünüz ikinci şey, bir görev
dizisindeki bir görev, bir hesaplama
dizisidir.

11
00:56.500 --> 01:01.720
Ve dediğim gibi, hesaplama hiçbir şey
değildir, ancak fonksiyon ve argümanının
bir kombinasyonudur.

12
01:02.500 --> 01:05.590
Bu yüzden Tasker'ı bir bağlantı listesi
olarak uygulayacağız.

13
01:06.670 --> 01:16.330
Başka bir deyişle, tutkal bile hiçbir şey
değildir, ancak bir

14
01:16.330 --> 01:17.080
iş parçacığı artı görev adı verilen bir
veri yapısıdır.

15
01:19.710 --> 01:20.400
Bu kadar.

16
01:21.060 --> 01:23.370
Bunlar olay döngüsünün iki bileşenidir.

17
01:24.060 --> 01:26.760
Bu üçlü, bu görev üzerinde hareket eder.

18
01:27.420 --> 01:27.870
Tamam.

19
01:28.740 --> 01:36.090
Bu yeşil kutu, uygulamanızdan tamamen
yalıtılmış olan olay döngüsü sorumluluğunu
temsil eder.

20
01:37.160 --> 01:37.580
Tamam.

21
01:38.300 --> 01:44.720
Uygulamanızda, uygulamanızın iş
parçacıklarından biri yürütüldüğünde şu

22
01:44.720 --> 01:46.520
anda çalışan birkaç kabileye sahip
olabilirsiniz.

23
01:46.820 --> 01:49.490
Hesaplamayı olay döngüsüne gönderin.

24
01:50.900 --> 01:58.070
Bu hesaplama bu finans ve bu argüman
tarafından temsil edilir, bu nedenle

25
01:58.070 --> 02:01.910
bu API'yi yazacağız ve bu API'nin
uygulanmasını kısa bir süre sonra
tartışacağız.

26
02:02.270 --> 02:08.480
Ancak bu API'nin uygulama tarafından
çağrılır çağrılmaz olay

27
02:09.230 --> 02:12.290
döngüsüne yeni hesaplama göndermek için
kullanıldığını varsayalım.

28
02:12.620 --> 02:16.490
Hesaplama bu görevin içine
yerleştirilecektir, ancak.

29
02:19.170 --> 02:19.590
Tamam.

30
02:21.140 --> 02:28.760
Dolayısıyla, yeni iş oluşturmak için bu
API'yi kullanarak, uygulama zirvesi

31
02:28.760 --> 02:31.370
even lube tarafından even lube görevine
yürütülecek yeni bir yarışmadır.

32
02:32.900 --> 02:39.170
Şimdi, yağlama bile bir şey değildir,
ancak daha önce

33
02:39.170 --> 02:40.100
açıkladığım görevleri üzerinde hareket
eden ayrı, bağımsız bir ipliktir.

34
02:40.640 --> 02:48.440
Luke bile bir makine gibi yürür,
hesaplamayı görev

35
02:48.440 --> 02:49.610
düzenleyicisinden alır ve bir yürütme
yığınına yerleştirir.

36
02:50.660 --> 02:56.600
Dolayısıyla, bu görevin başı olan
Buddy'den yeni yarışmayı

37
02:56.600 --> 02:58.310
alır ve bu argüman üzerinde f işlevini
çağırır.

38
02:59.060 --> 02:59.450
Tamam.

39
03:00.050 --> 03:07.220
Olay döngüsü iş parçacığının yaptığı budur
ve tüm hesaplamalar ve

40
03:07.220 --> 03:10.880
görev addy'si yürütülene kadar görevden
hesaplamayı getirmeye devam eder.

41
03:12.290 --> 03:18.410
Yani Döngüler bile tüm hesaplamaları
kullanır ve bunları tek tek olay
döngüsüyle boşaltır.

42
03:18.410 --> 03:22.450
Ted, F2 ve Flyknit fonksiyonlarını alacak.

43
03:22.970 --> 03:28.760
Bundan sonra, olay döngüsü F3 işlevine
fiske atacak ve onu

44
03:28.760 --> 03:31.010
dosyalayacaktır ve görev bitene kadar bunu
yapmaya devam edecektir.

45
03:33.200 --> 03:40.100
Görev boş olana kadar bunu yapmaya devam
eder ve olay döngüsü

46
03:40.100 --> 03:44.960
görevi tamamen tükendiğinde, olay döngüsü
iş parçacığı askıya alma durumuna geçer.

47
03:45.740 --> 03:46.160
Tamam.

48
03:46.550 --> 03:53.090
Ve uygulama görev dizisine tekrar yeni bir
rekabet

49
03:53.090 --> 03:54.140
başlatana kadar askıya alma durumunda
kalmaya devam eder.

50
03:55.220 --> 03:55.610
Tamam.

51
03:56.000 --> 04:00.860
Yani Lou bile, yine, bazı uygulamaların
yazın yeni rekabetini görev hikayesine
bağladığını varsayıyor.

52
04:01.910 --> 04:10.580
Şimdi bu genel tasarımdan, olay döngüsü
Pratt'in Toscana'dan hesaplamayı alıp
ateşlediğini,

53
04:10.580 --> 04:17.590
uygulama iş parçacığının ise göreve yeni
bir rekabet başlattığını görebilirsiniz.

54
04:18.530 --> 04:22.490
Böylece üretici tüketici modelini burada
gerçekleştirebiliriz.

55
04:23.330 --> 04:25.250
Bu ortak veri yapısıdır.

56
04:26.910 --> 04:34.440
Uygulama bu veri yapısına yeni öğeler
sıralarken, olay

57
04:34.440 --> 04:36.390
döngüsü iş parçacığı bu veri yapısından
öğeleri kaldırır.

58
04:37.530 --> 04:37.980
Tamam.

59
04:38.520 --> 04:42.450
Bu da uygulamanın üretici olarak hareket
ettiği anlamına gelir.

60
04:44.130 --> 04:47.640
Yani, Club Ted bile bir tüketici olarak
hareket etmektedir.

61
04:48.870 --> 04:52.470
Yani bu tipik bir üretici tüketici sorunu,
başka bir şey değil.

62
04:53.400 --> 05:00.180
Hatta bakıyorsunuz, Ted sizin uygulama
tehditlerinizden ayrı.

63
05:01.020 --> 05:06.150
Bunun nedeni de farklı kabilelerin bu
genel yapı üzerinde hareket ediyor
olmasıdır.

64
05:06.450 --> 05:12.030
Aynı zamanda, bu görevde NQ ve BQ
operasyonunu korumamız gerekiyor.

65
05:12.030 --> 05:13.800
Eddy yeni güverteleri kullanıyor.

66
05:14.930 --> 05:15.320
Tamam.

67
05:16.940 --> 05:24.590
Şimdi, yeni bir yarışmanın etkinlik
yasasına sunulduğu noktadan, etkinlik
döngüsünün

68
05:24.590 --> 05:31.430
görevini tamamen tükettiği noktaya kadar
gerçekleşen olaylar dizisini tartışalım.

69
05:32.810 --> 05:39.920
Diyelim ki mutlu bir şekilde çalışan bir
uygulama iş parçacığınız var ve zamanın
bir

70
05:39.920 --> 05:45.950
noktasında uygulama iş parçacığınız
görüntünün bir sonucu olarak olay
döngüsüne yeni bir hesaplama gönderiyor.

71
05:45.950 --> 05:50.210
İkinci adımda, yarışma bu görevin içine
çekilecektir.

72
05:51.230 --> 05:59.030
Şimdi, herhangi bir olay döngüsü görevi
boş olduğunda, olay döngüsü iş
parçacığının askıya alındığını unutmayın.

73
06:01.360 --> 06:01.780
Tamam.

74
06:02.410 --> 06:08.740
Ve uygulama tarafından bir olay döngüsünün
önündeki göreve yeni bir yarışma
başlatılır başlatılmaz,

75
06:09.670 --> 06:14.680
olay döngüsü tehdidi sinyalize edilir veya
başka bir deyişle, yürütülmeye devam eder.

76
06:16.280 --> 06:18.560
Bu onları olaydan önce durdurmak demek
Lou.

77
06:18.820 --> 06:22.880
Ted, ilk görevi görev yerleştirme
bölümünden alacaktır.

78
06:23.870 --> 06:24.260
Tamam.

79
06:24.950 --> 06:28.120
Böylece söz konusu görev, görev
listesinden çıkarılır.

80
06:28.850 --> 06:34.670
Ve sonra beşinci adımda, bu özel yarışma
TED olay döngüsü tarafından başlatılır.

81
06:35.630 --> 06:41.840
Yani yarışmalar, uygulama tehdidi
bağlamında değil,

82
06:41.840 --> 06:43.160
olay döngüsü tehdidi bağlamında
tetiklenir.

83
06:44.280 --> 06:50.760
Uygulama, bir numaralı adımda
gerçekleştirilecek yarışmayı

84
06:50.760 --> 06:51.120
olay döngüsü iş parçacığına devretmiştir.

85
06:53.220 --> 07:00.030
Şimdi beş numaralı adımda, bu hesaplama
tetiklenir ve bu kod

86
07:00.030 --> 07:03.420
satırında hesaplamanın kendisinin yeniden
yeni bir hesaplama oluşturduğunu
görebilirsiniz.

87
07:04.810 --> 07:11.830
Böylece, altı numaralı durakta yeni bir
görev oluşturulur ve olay yağlama görevine
gönderilir.

88
07:12.160 --> 07:19.150
Yine, bu yarışmanın board adında bir
işlevi vardır ve argüman IRG bir ile
temsil edilir.

89
07:20.740 --> 07:21.160
Tamam.

90
07:22.510 --> 07:30.130
Yani bir bakıma, yarışma verebilir ama
başka hesaplamalar yapabilir
diyebilirsiniz ve bu kod

91
07:30.130 --> 07:34.870
satırı, yeni bir yarışma yaratıyoruz ve
onu tekrar denenen olay döngüsüne
gönderiyoruz.

92
07:36.130 --> 07:40.840
Ve sonra bu işlev, print up ifadesini
yazdırarak tamamlama işlemini
gerçekleştirir.

93
07:41.650 --> 07:45.470
Böylece yedi numaralı adım bir çıktı
üretir.

94
07:45.490 --> 07:47.050
Bu benim favorim.

95
07:48.760 --> 07:53.980
Şimdi, yedi numaralı adımdan sonra,
uygulama iş parçacığı

96
07:53.980 --> 07:55.840
tarafından olay döngüsüne gönderilen ilk
hesaplama tamamlanmıştır.

97
07:56.800 --> 08:02.110
Şimdi olay döngüsü tad'ın görevde bulunan
bir sonraki hesaplamayı arama zamanı.

98
08:03.160 --> 08:09.700
Şimdi sekiz numaralı adımda ikinci görev
olay döngüsü

99
08:09.700 --> 08:10.240
iş parçacığı tarafından görev dizisinden
çıkarıldı ve tekrar.

100
08:10.810 --> 08:16.420
Ve bunun sonucunda bu hesaplama görevden

101
08:16.420 --> 08:16.890
çıkarılır ve dokuz numaralı adımda
tetiklenir.

102
08:18.070 --> 08:20.140
Ve bu nedenle, 10 numaralı adımda.

103
08:21.590 --> 08:25.250
Yeni yarışma çubuğu, Bar adı verilen kendi
çıktısını oluşturur.

104
08:25.880 --> 08:29.900
Yani şu anki genel sonuç bu benim favori
barım.

105
08:30.710 --> 08:31.130
Tamam.

106
08:32.120 --> 08:37.010
Son olarak, bu 11 numarada, olay döngüsü
yine gerilim yaratıyor.

107
08:38.090 --> 08:40.930
Bunun nedeni Oscar'ın artık boş olmasıdır.

108
08:40.940 --> 08:42.380
Artık hesaplama yok.

109
08:43.640 --> 08:47.270
Şans olayının tüm döngüsü bu şekilde
işler.

110
08:48.740 --> 08:56.570
Peki sizden olay döngüsü iş parçacığının
yürütme döngüsünü temsil

111
08:56.570 --> 08:57.380
eden bir akış şeması çizmenizi istesem, ne
çizersiniz? Yani

112
08:58.400 --> 09:02.300
burada olayla başlamak için bir akış
şeması çizebilirim.

113
09:02.300 --> 09:09.410
Döngü trendi askıya alınmış durumdadır ve
uygulamalar yarışmayı olay döngüsü

114
09:09.410 --> 09:12.110
iş parçacığına gönderene kadar askıya
alınmış durumda olmaya devam eder.

115
09:13.550 --> 09:19.220
Dolayısıyla bu noktada, bu olayda Loop
Trad'ın boşta durumda olduğunu görüyoruz.

116
09:19.550 --> 09:24.080
Yani, askıya alınmış durumda olmaktan
başka bir şey yapmamaktadır.

117
09:25.040 --> 09:26.300
Başvuru yapıldı mı? Etkinlik

118
09:26.320 --> 09:28.680
döngüsüne bir yarışma gönderin.

119
09:28.700 --> 09:34.190
Olay döngüsü iş parçacığına sinyal verilir
ya da başka bir deyişle, iş parçacığının
yürütülmeye başlandığını görürüz.

120
09:34.970 --> 09:40.730
Dolayısıyla, olay döngüsü iş parçacığı
yürütülürken ve ADI görevinden gelen
rekabetle

121
09:40.730 --> 09:45.110
mücadele ederken, olay döngüsü iş
parçacığının aşağıdaki durumda olduğunu
görürüz: bitiş.

122
09:45.110 --> 09:52.850
Bekle, olay döngüsü TED işini bitirmek
için bekliyor ve olay döngüsü savaştıktan
sonra yoruldu.

123
09:52.850 --> 09:56.390
Her yarışma, görev emrinin boş olup
olmadığını kontrol eder.

124
09:57.050 --> 10:03.620
Eğer görev boş değilse, rekabeti
görevinden saptırmaya devam

125
10:03.620 --> 10:05.440
edecek ve birbiri ardına tetiklemeye devam
edecektir.

126
10:05.990 --> 10:11.960
Ve görev boşaldığında, kulüp bile tekrar
askıya alınmış duruma geçer.

127
10:13.750 --> 10:21.070
Ve son olarak, olay döngüsü BQ, görevinden
gelen rekabet, herhangi bir ve

128
10:21.070 --> 10:27.280
bu adım, elbette, olay Lou geri dönüp
görevinin boş olup olmadığını kontrol

129
10:27.280 --> 10:31.450
etmeli ve görev boşalana kadar yıldız
scutti'sinden hesaplamaları ateşlemeye
devam etmelidir.

130
10:32.260 --> 10:38.980
Bu, bir olay döngüsü testinin yürütme
döngüsünü temsil eden

131
10:38.980 --> 10:40.390
bir akış şemasıdır ve bu akış şemasını
uygulayacağız.

132
10:41.810 --> 10:47.900
Buradan çıkarılacak sonuç, olay döngüsünün
herhangi bir zaman

133
10:47.900 --> 10:49.040
noktasında bu iki durumdan herhangi
birinde olabileceğidir.

134
10:49.670 --> 10:53.420
Ya atıl durumdadır ya da hangi durumda
olduğu bitmemiştir.

135
10:53.810 --> 10:59.570
Olay döngüsü hesaplamayı tetiklediğinde,
olay döngüsü durumu tamamlamış olur.

136
10:59.930 --> 11:05.660
Ve olay döngüsü tüm hesaplamaları
tetikledikten ve boş olduğunu

137
11:05.660 --> 11:08.330
anlamaya başladıktan sonra, olay
döngüsünün boşta durumuna geçmesi
beklenir.

138
11:09.560 --> 11:09.950
Tamam.

139
11:10.160 --> 11:12.950
Olay döngüsü dediğimde, olay döngüsü iş
parçacığını kastediyorum.

140
11:14.400 --> 11:19.530
Şimdi bir sonraki ders videosundan
başlamak

141
11:19.530 --> 11:20.160
üzere, olay döngüsü trendinin
uygulanmasına başlayacağız.

142
11:20.520 --> 11:24.090
Artık bakmanın bile nasıl çalışması
gerektiğini anladık.

143
11:24.300 --> 11:28.890
Artık olay döngüsünün iç tasarımını ve
işleyişini net bir şekilde anlamış
bulunuyoruz.


