Terima kasih telah mengirimkan pertanyaan Anda! Salah satu anggota tim kami akan segera menghubungi Anda.
Terima kasih telah mengirimkan pemesanan Anda! Salah satu anggota tim kami akan segera menghubungi Anda.
Durasi 28 jam
Kerangka Materi
Tantangan dan isu sinkronisasi
- Batasan perangkat keras sistem – penggunaan hardware threads, alur pemrosesan, serta konsistensi cache memori
- Istilah dasar dalam konsep multithread (kriteria kebenaran program, siklus hidup thread, deadlock, race condition, atomisitas, model konsistensi, klasifikasi Flynn)
- Fitur yang tersedia dalam C++ untuk implementasi multithread dan multiproses
- Evolusi pustaka standar mulai dari versi C++14 hingga C++2a
- Peralatan sinkronisasi pada pustaka Boost – perbedaan dengan fitur standar
Proses dan thread
- Aplikasi multiproses versus multithread
- Sistem operasi dan manajemen thread (gambaran singkat mengenai implementasinya)
- Mekanisme sinkronisasi antarproses dan antar-thread
- Pola struktural dalam penerapan metode sinkronisasi
- Implikasi penggunaan pendekatan berorientasi objek terhadap manajemen thread (peran pola RAII)
Model memori dalam C++
- Struktur objek dan lokasinya di memori
- Pengatur urutan eksekusi perintah serta penjadwalannya
- Relasi temporal: sinkronisasi, kebergantungan operasi serta pengelolaan atomisitas proses
- Batas-batas integritas memori
- Operasi atomik dalam manipulasi data
Pengaturan thread dalam standar C++14 dan versi terbaru
- Pemanfaatan kelas std::thread untuk inisiasi thread baru
- Identifikasi identitas tiap thread
- Cara menyatukan kembali proses selesainya eksekusi thread serta memutuskan hubungannya
- Kolaborasi antara struktur data standar dan manajemen thread
- Tangani exception dalam konteks runtime thread C++14<\/li>
Konteks akses eksklusif dan area kritis
- Prinsip-prinsip dasar penanganan persaingan sumber daya
- Jenis-jenis objek pengendali pembatasan akses yang tersedia
- Panduan cepat mengenai penjadwalan waktu C++14 (pustaka chrono)
- Fungsi utama kelas std::mutex, std::timed_mutex, std::shared_mutex beserta turunannya
- Implikasi pola RAII terhadap manajemen objek pengendali blokir (std::lock_guard dan std::unique_lock)
- Mekanisme kunci bersyarat serta penunda pelaksanaannya (std::lock)
- Pembatasan kepemilikan dan pemanfaasan objek pengendali antar-thread
- Istilah konkret: konflik kebijakan pembacaan/data versus penulisan
- Teknik implementasi satu kali inisialisasi dalam kondisi multithread<\/li>
- Pemanfaatan penyimpanan lokal spesifik tiap thread (std::thread_local)
Alat pengaturan sinkronisasi antar-thread
- Cara operasional variabel tipe semaphore
- Pembuatan struktur pengendali rekursif untuk pembatasan akses
- Objek penentu tingkat prioritas dalam proses blokir
- Fungsi perantara dalam kerja sama antara variabel kondisi dengan alat pengatur batasan akses
- Pemahaman terkait teknik menunggu secara pasif maupun aktif
- Kendali aktivasi kembali proses setelah terhenti sementara
- Skema transmisi data dan instruksi di antara tiap unit pemrosesan mandiri (model Actor atau CSP)
Tugas Asinkron
- Pemahaman mengenai fenomena terkait kejadian tak sinkron serta mekanisme responnya
- Manajemen konsep future dalam pengelolaan tugas latar belakang
- Menggunakan promise untuk penjadwalan operasi mandiri
- Pemanfaatan template packaged_task untuk eksekusi bersamaan beberapa prosedur komputasi<\/li>
Tipe data atomik
- Macam tipe standar khusus untuk aktivitas atomis
- Penggunaan alat universal penanda status persetujuan (std::atomic_flag)
- Detail implementasi template std::atomic[T] beserta ragam spesifikasinya
- Fungsi utiliter umum untuk manipulasi data berjenis atomic
Teknik optimal desain API multithread
- Pendekatan rancang struktur program dengan pertimbangan tingkat granularitas alat pengontrol pembatasan
- Estimasi kinerja berdasarkan analisis algoritma komputasional multiparalel<\/li>
- Cara memecah komponen data sesuai area fungsional tiap unit kerja
- Pentingnya keberlanjutan skala penyelesaian sistem dalam jangka panjang
- Penanganan isu gangguan eksepsional dan kasus abnormal dalam sistem distribusi tugas<\/li>
Validasi serta pengecekan kualitas aplikasi multithread
- Metode evaluasi komponen program terkait interaksi berbagai unit pemrosesan independen
- Karakteristik proses audit secara sistematis pada aplikasi dengan banyak alur eksekusi
- Penerapan model test unit untuk validasi struktural<\/li>
- Teknik menginduksi kejadian kontroversial demi pengujian sistem yang mendalam
- Algoritma ilmiah untuk memastikan keterukuran kesalahan perangkat lunak kompleks
- Pola arsitektur aplikasi multithread dalam konteks uji coba serta pelacakan masalah (gambaran umum)
Manajemen Tingkat Lanjut Thread
- Teknik pembentukan kelompok turunan thread berdasarkan pola Saga
- Cara meniadakan kebuntuan akses komponen data antar unit kerja mandiri
- Metode menghentikan aktivitas dan memutuskan koneksi tiap thread secara terkontrol
- Pencegahan hambatan waktu eksekusi pada instruksi penangguhan proses eksklusif<\/li>
- Pengelolaan operasi interupsi saat terjadi gangguan eksternal
- Strategi menyita prioritas tugas secara cerdas di lingkungan bersaing
- Pembatalan tugas aktif sewaktu sistem mengakhiri proses komputasi<\/li>
Pola Desain Multithread Umum
- Klasifikasi serta urgensi tiap pola desain dalam lingkungan multi-thread
- Ruang lingkup penerapan masing-masing strategi konseptual
- Pembentukan kelompok kerja komputasional dinamis berupa Thread Pool
- Konsep Active Object: pengaturan instruksi internal melalui mesin eksekusi independen
- Penggunaan antrian khusus untuk distribusi tugas aman diikuti banyak user
- Rancangan Producer Consumer dalam alokasi sumber daya pemrosesan
- Penerapan Monitor sebagai mediator keamanan data antar instruksi mandiri
- Keamanan kode dengan pengaturan ketat komponen sinkronisasi menurut aturan GoF<\/li>
Persyaratan
- Kemampuan mengoperasikan alat-alat pengembangan C++ pada lingkungan GNU/Linux maupun MS Windows
- Pemahaman mendalam mengenai konsep pemrograman C++, baik pendekatan prosedural maupun berorientasi objek
- Pengetahuan tentang teknik pengkodean generik (penggunaan template)
Testimoni (1)
Contoh praktis
Jan Kaniuka - SIEC BADAWCZA LUKASIEWICZ - PRZEMYSLOWY INSTYTUT AUTOMATYKI I POMIAROW PIAP
Kursus - Programowanie wielowątkowe w języku C++
Diterjemahkan Mesin