WEBVTT

1
00:07.360 --> 00:13.300
Şimdi, çocuklar, bahsettiğim bir sonraki
soru,

2
00:13.300 --> 00:13.810
madeni yağ dükkanı idealizmi olup
olmadığınızdır.

3
00:13.840 --> 00:14.980
Cevabım hayır.

4
00:15.460 --> 00:22.690
Lube bile herhangi bir paralelliğe sahip
değil, Toms eşzamanlılığı ve paralelliği

5
00:22.690 --> 00:24.520
ve aralarındaki farkın ne olduğu sizin
için açık olup olmadığı.

6
00:25.030 --> 00:30.280
Eğer sistem hakkındaki anlayışınız biraz
bulanıksa ve net değilse,

7
00:30.280 --> 00:36.250
eşzamanlılık ve paralellik arasındaki
farkı açıklayan diğer dersimden bazı

8
00:36.250 --> 00:38.170
ders videolarını yüklediğim söylemin ek
bölüm B'sine bakın.

9
00:39.460 --> 00:45.280
Böylece çok çekirdekli bir sistemde,
bağımsız iş parçacıkları birden fazla
kursta paralel olarak çalışabilir.

10
00:45.940 --> 00:52.330
Şimdi, bağımsız izler, sessiz ekseni
kilitleyerek birbirini engellemeyen
izlerdir.

11
00:52.900 --> 00:59.290
Başka bir deyişle, bağımsız iş
parçacıkları bir uygulamanın

12
00:59.290 --> 01:00.070
tamamen farklı veya yalıtılmış veri
yapıları üzerinde çalışır.

13
01:00.610 --> 01:06.340
Eğer durum buysa, birinin diğer konuyu

14
01:06.640 --> 01:07.180
sessize alarak engellemeye çalışmasına
gerek yoktur.

15
01:07.720 --> 01:10.000
Dolayısıyla bu tür tuzaklara bağımsız iş
parçacıkları denir.

16
01:10.360 --> 01:16.030
Ve eğer uygulama bağımsız iş
parçacıklarına sahipse, bunlar

17
01:16.030 --> 01:17.260
sistemin birden fazla CPU'sunda paralel
olarak çalıştırılabilir.

18
01:18.190 --> 01:21.250
Öte yandan, bir döngü bile tek iş
parçacıklı bir sistemdir.

19
01:21.250 --> 01:27.580
Olay döngüsü iş parçacığı olarak
adlandırılan yalnızca tek bir iş

20
01:27.580 --> 01:29.820
parçacığı vardır ve tek yürütme birimi bu
iş parçacığıdır.

21
01:29.830 --> 01:32.980
Uygulamanız her kod parçasına sahiptir.

22
01:32.980 --> 01:39.880
Uygulamanızın her fonksiyonu Levent Loop
Trap adı verilen sadece ve sadece bir iş
parçacığı tarafından yürütülür.

23
01:40.870 --> 01:48.250
Pekala, artık uygulama kodunuzun task adı
verilen iş birimi

24
01:48.250 --> 01:49.690
aracılığıyla bir döngü iş parçacığı
tarafından yürütüldüğünü biliyoruz.

25
01:50.770 --> 01:58.300
Bu nedenle görev, olay döngüsü iş
parçacığı tarafından paralel

26
01:58.750 --> 02:01.810
olarak değil, seri bir şekilde birbiri
ardına yürütülür.

27
02:02.410 --> 02:07.790
Ve şimdi, bu olay döngüsünün iç tasarımını
ve işleyişini bildiğinize göre, o
sizsiniz.

28
02:08.260 --> 02:13.420
Görevlerin olay döngüsü iş parçacığı
tarafından seri bir şekilde,

29
02:13.810 --> 02:14.860
yani teker teker tetiklendiğini çok iyi
anlamış olmalısınız.

30
02:15.940 --> 02:21.640
Ve eğer kendisini tekrar tekrar kullanması
gerekiyorsa, eşzamanlı olarak yürütme
görevi ortaya çıkar.

31
02:22.090 --> 02:28.210
Burada size bir yükleme indirme örneği
yardımıyla gösterdim, ancak

32
02:28.210 --> 02:31.820
burada en temel düzeyde, görevler seri
olarak yürütülür.

33
02:32.080 --> 02:35.620
Ancak aynı görev tekrar tekrar yapılması
gerektiği için.

34
02:36.070 --> 02:38.770
Böylece eşzamanlılık elde edersiniz.

35
02:40.370 --> 02:40.760
Tamam.

36
02:41.090 --> 02:47.510
Yükleme indirme örneğinde, iki farklı
görevin eşzamanlı olarak nasıl
yürütülebileceğini gösterdim.

37
02:49.000 --> 02:56.350
Dolayısıyla Lou bile eşzamanlılık sağlar,
ancak sistem çok

38
02:56.350 --> 02:57.670
işlemcili bir sistem olsa bile paralellik
sağlamaz.

39
02:58.120 --> 03:04.480
Bunun arkasındaki temel neden ise, hatalı
döngülerden

40
03:04.480 --> 03:05.910
yararlanan uygulamaların tek iş parçacıklı
uygulamalar olmasıdır.

41
03:06.220 --> 03:10.840
Tek iş parçacıklı bir uygulama yürütmek
için yalnızca bir CPU'ya ihtiyaç duyar.

42
03:11.230 --> 03:17.170
Yani sisteminizin birden fazla CPU'ya
sahip olması, ilk etapta

43
03:17.170 --> 03:17.950
tek iş parçacıklı bir uygulama için işe
yaramaz.


