WEBVTT

00:05.420 --> 00:11.180
Şimdi, iş parçacığı bariyerleri ile çalışmak için uygulamamız gereken tüm API'leri veya

00:11.180 --> 00:12.920
işlemleri tartışacağız.

00:12.980 --> 00:18.800
Yani temel olarak üç API yazacağız, içinde iş parçacığı bariyeri, iş parçacığı bariyeri, bekleme ve iş parçacığı

00:18.800 --> 00:25.280
bariyeri, iş parçacığı bariyerinin işleyişinin tüm mantığını yok edeceğiz iş parçacığı bariyerine gidecek.

00:25.280 --> 00:25.910
Bekle.

00:25.910 --> 00:30.140
Pekala, bu uygulayacağımız ana API'dir.

00:30.170 --> 00:34.820
Thread barrier in it ve thread barrier destroy uygulanması çok basit API'lerdir.

00:34.820 --> 00:40.190
Bu init API'sinde yapmanız gereken tek şey, bu iş parçacığı bariyerinin tüm üyelerini başlatmaktır.

00:40.190 --> 00:45.590
Ve tartıştığımız gibi, bu API'nin ikinci argümanı bariyerin eşik sayısı değeridir.

00:45.590 --> 00:49.760
İplik bariyeri ile ilgili tüm kodlar bu dizinde bulunabilir.

00:49.760 --> 00:53.000
Bu çoklu iş parçacığı bariyeridir.

00:53.750 --> 00:59.330
İş parçacığı bariyerinin uygulanmasını tamamladıktan sonra, bu dersin bir parçası olarak oluşturduğumuz iş parçacığı

00:59.330 --> 01:04.400
kütüphanesinde iş parçacığı bariyeri ile ilgili tüm kodları kopyalayıp yapıştıracağız.

01:04.400 --> 01:05.630
Doğru.

01:05.630 --> 01:12.680
Başlangıç olarak, bu API'nin prototipini başlık dosyasında bildirmemiz gerekiyor, böylece multithreading

01:12.680 --> 01:21.920
Bible slash thread barrier dizininde olduğumu ve thread barrier dot h başlık dosyasını zaten yazdığımı görebilirsiniz.

01:21.920 --> 01:25.250
İşte bu, oluşturmanız gereken başlık dosyasıdır.

01:25.250 --> 01:31.580
Ve bu başlık dosyasında, bu iş parçacığı bariyeri veri yapısı ile birlikte tartıştığımız iş parçacığı bariyerini temsil

01:31.580 --> 01:35.900
eden aynı veri yapısını zaten kopyalayıp yapıştırdığımı görebilirsiniz.

01:35.900 --> 01:41.480
Ayrıca iş parçacığı bariyerleri ile çalışmak için uygulamamız gereken üç API'yi de bildirdim.

01:41.480 --> 01:42.200
Doğru.

01:42.200 --> 01:48.470
Bu nedenle, ödevin bir parçası olarak uygulayacağımız API'lerin prototipi ile birlikte bir başlık dosyası

01:48.470 --> 01:54.290
oluşturmanızı ve iş parçacığı bariyeri veri yapısı tanımını tanımlamanızı bekliyorum.

01:54.290 --> 02:00.290
Bu ders videosunun ardından, thread barrier init fonksiyonunda thread barrier ve thread barrier

02:00.290 --> 02:06.750
destroy fonksiyonlarının uygulanmasını sağlamanızı bekliyorum, sadece eşik sayısı değerini geçirdiğimiz

02:06.750 --> 02:11.430
ikinci parametreye eşit olarak başlatmanız gerekir.

02:11.460 --> 02:12.270
Doğru.

02:12.300 --> 02:18.000
Mevcut bekleme sayısı değeri sıfır olarak başlatılmalı ve tüm koşul değişkenlerini ve

02:18.000 --> 02:25.350
muteksleri iş parçacığı API'lerini kullanarak başlattığımız gibi başlatmanız gerekir ve tekrar hazırdır.

02:25.350 --> 02:28.590
Boolean bayrağı varsayılan olarak true olarak ayarlanmalıdır.

02:28.740 --> 02:29.490
Doğru.

02:29.490 --> 02:32.040
Yani bu başlıkta yapmanız gereken şey bu.

02:32.070 --> 02:39.090
Barrier init api thread barrier destroy API'de bu thread bariyerinin mutekslerini veya koşul değişkenlerini

02:39.090 --> 02:42.360
thread barrier destroy API'de yok etmelisiniz.

02:42.390 --> 02:48.150
Bu iş parçacığında bulunan muteksleri ve koşul değişkenlerini yok etmeniz yeterlidir.

02:48.180 --> 02:49.590
Bariyer veri nesnesi.

02:49.590 --> 02:50.310
Doğru.

02:50.880 --> 02:55.080
Dolayısıyla, iş parçacığı bariyer nesnesini bu API'ye bir argüman olarak geçiriyoruz.

02:55.110 --> 03:00.150
Bu iş parçacığı bariyeri tarafından işgal edilen belleği serbest bırakmamalısınız.

03:00.150 --> 03:06.180
Belleği serbest bırakmak, iş parçacığı bariyerini yok etme API'sini çağıran çağıran işlevin sorumluluğunda

03:06.180 --> 03:06.980
olmalıdır.

03:06.980 --> 03:07.700
Doğru.

03:07.700 --> 03:12.860
Bu nedenle, thread barrier dot c kaynak dosyasında iş parçacığı bariyerinin uygulanmasını ve iş parçacığı

03:12.860 --> 03:14.740
bariyerinin yok edilmesini sağlayın.

03:14.750 --> 03:18.860
Bir sonraki ders videosunda iş parçacığı bariyerinin uygulanmasını tartışacağız.

03:18.860 --> 03:19.640
Bekle API.

03:19.850 --> 03:25.250
İş parçacığı bariyeri işlevselliğinin tüm mantığının içine gireceği API budur.
