Bizi tercih ettiğiniz için teşekkür ederiz. Ekip üyelerimiz en kısa sürede sizlerle iletişime geçecektir.
Rezervasyonunuzu gönderdiğiniz için teşekkür ederiz! Ekibimizden bir yetkili kısa süre içinde sizinle iletişime geçecektir.
Süre 28 Saat
Eğitim İçeriği
Eşzamanlılık Zorlukları ve Sorunlar
- Platform donanım sınırlamaları - donanım iş parçacıkları, kanallar, önbellek hafızası bağlantıları
- Çoklu iş parçacıklı programlama ile ilgili temel kavramlar (programın doğruluğu, canlılık, kıstırma, sıkışma, yarışımlar, atomiklik, uyum modelleri, Flynn taksonomisi)
- C++'da mevcut çoklu iş parçacıklı ve çoklu süreç uygulama mekanizmaları
- Standard kütüphane uygulaması - C++14'den bugüne (C++2a) kadar olan unsurlar
- Boost'taki mevcut uygulama - standard kütüphaneye göre farklılıklar
Süreçler ve İş Parçacıkları
- Birden çok süreçli uygulamalar ve birden çok iş parçacıklı uygulamalar
- İşletim sistemi ve iş parçacıkları (kullanılabilir uygulamaların kısa bir özeti)
- Süreçlerin ve iş parçacıklarının eşzamanlı hale getirilme mekanizmaları
- Eşzamanlılık yapısal olarak nasıl uygulanır
- Nesne yönelimli yaklaşımın çoklu iş parçacıklı uygulama (RAII modelinin rolü) konusundaki belirgin özellikleri
C++ Dili Hafıza Modeli
- Nesneler ve hafızadaki yerler
- İşlemlerin sıralanması ve zorlanması
- Eşzamanlılık, önceliklendirme, işlemler arasında atomik işlevleri ve serbest bırakma dizilimleri arasındaki ilişkiler
- Hafıza bariyerleri
- Atomik işlemler
C++14 ve Daha Yeni Standartlarda İş Parçacığı Yönetimi
- std::thread sınıfı ve iş parçacıklarının başlatılması
- İş parçacığının kimliği
- İş parçacığını bağlama ve bağlamadan çıkarma
- İş parçacığı ve standard konteyneler
- C++14 iş parçacıklarında hata yönetimi
Mutually Exclusive (MUTEX) ve Kritik Bölümler
- Basit mutlak eşzamanlılık kuralları
- Erişime izin veren mevcut nesnelerin türleri (sınıfları)
- C++14'te zaman yönetimi (chrono kütüphanesi) hızlı bir giriş
- std::mutex, std::timed_mutex, std::shared_mutex ve türetilmiş sınıflar
- Blokajın yönetimi konusundaki RAII modeli (std::lock_guard, std::unique_lock)
- Eşzamanlı ve erteleyici kilitler (std::lock)
- Kilit ve iş parçacığı sahipliği
- Okuyucu-yazar sorunu
- Tek seferlik başlatma
- İş parçacığı yerel (özel) hafıza (std::thread_local)
Kilitler ve İş Parçacıkları Eşzamanlılığı
- Semafor işlemleri
- Tekrarlayıcı kilitler
- Blokaj düzeyi tanımlanmış kilitler
- Decisive değişkenler ve blokajla işbirliği
- Etkin ve pasif barilerin uygulanması (Idle Waits, Busy Waits)
- İş parçacıklarının yeniden başlatılması
- İş parçacıkları arasında iletişim (Aktör modeli ve CSP)
Aşamalı Görevler
- Asenkron olaylar ve yönetimi
- Gelecekler (future)
- Vaatler (promise)
- Hazır görevler (packaged_task)
Atomik Türler
- Standart atomik türler
- Universel atomik bayrak (std::atomic_flag)
- "std::atomic<T>" sınıf şablonu ve özel durumları
- std::atomic türleri için araç fonksiyonları (serbest)
Çoklu İş Parçacıklı API Tasarımı Konuları
- Blokajlarla yapı tasarlama - genel ve ayrıntılı blokajlar
- Eşzamanlı kodun performansı - tahmin ve ölçüm teknikleri
- Veri bölüştürme
- Çözümlerin ölçeklenebilirliği
- Uygulama mimarisinde hata ve olağanüstü durum yönetimi
Çoklu İş Parçacıklı Uygulamaların Testi ve Hata Ayıklaması
- Çoklu iş parçacıklı işlemler açısından kod incelemeleri
- Çoklu iş parçacıklı uygulamaların testine özgü yönleri
- Birim testleri
- Hata durumlarının olasılığını artırma
- Formal test yöntemleri
- Çoklu iş parçacıklı uygulama mimarisindeki desenler ve test/hata ayıklama (genel bakış)
Gelişmiş İş Parçacığı Yönetimi
- Eşzamanlı iş parçacıkları (Sagi modeli)
- Veri erişimine olan rekabetin önlenmesi
- İş parçacığının denetimli durdurulması ve kesilmesi
- Blokaj yapan çağrıların kesilmesi
- Kesme yönetimi
- Görev çalmak (stealing)
- Uygulama sona erme sırasında görevleri kesmek
Çoklu İş Parçacıklı Tasarım Desenleri
- Çoklu iş parçacıklı desenlerin türleri ve amacları
- Desenlerin uygulanma alanları
- İş parçacığı havuzu (Thread Pool)
- Etkin Nesne Deseni (Active Object)
- Güvenli Çoklu İş Parçacıklı Kuyruk (Thread Safe Queue)
- Üretici-Tüketici Deseni (Producer Consumer)
- Monitor Deseni (Monitor)
- GoF desenlerinin çoklu iş parçacıklı güvenliği
Kurs İçin Gerekli Önbilgiler
- GNU/Linux ve/veya MS Windows ortamında C++ yazılımının oluşturulması için araçları kullanma becerisi
- Yordayıcı (prosedürsel) ve nesne yönelimli programlama konularını bilme (orta seviye ve üst düzey)
- Genelleştirilmiş kod oluşturma (şablonlar) konusunu bilmek
Danışanlarımızın Yorumları (1)
Pratik örnekler
Jan Kaniuka - SIEC BADAWCZA LUKASIEWICZ - PRZEMYSLOWY INSTYTUT AUTOMATYKI I POMIAROW PIAP
Eğitim - Programowanie wielowątkowe w języku C++
Yapay Zeka Çevirisi