Runtime Konkurensi

Runtime Konkurensi untuk C++ membantu Anda menulis aplikasi paralel yang kuat, dapat diskalakan, dan responsif. Ini meningkatkan tingkat abstraksi sehingga Anda tidak perlu mengelola detail infrastruktur yang terkait dengan konkurensi. Anda juga dapat menggunakannya untuk menentukan kebijakan penjadwalan yang memenuhi kualitas tuntutan layanan aplikasi Anda. Gunakan sumber daya ini untuk membantu Anda mulai bekerja dengan Runtime Konkurensi.

Untuk dokumentasi referensi, lihat Referensi.

Tip

Concurrency Runtime sangat bergantung pada fitur C++11 dan mengadopsi gaya C++ yang lebih modern. Untuk mempelajari lebih lanjut, baca Selamat Datang Kembali ke C++.

Memilih Fitur Runtime Konkurensi

Artikel Deskripsi
Gambaran Umum Mengajarkan mengapa Runtime Konkurensi penting dan menggambarkan fitur-fitur utamanya.
Membandingkan dengan Model Konkurensi Lainnya Menunjukkan bagaimana Runtime Konkurensi dibandingkan dengan model konkurensi lain, seperti kumpulan utas Windows dan OpenMP, sehingga Anda dapat menggunakan model konkurensi yang paling sesuai dengan kebutuhan aplikasi Anda.
Migrasi dari OpenMP ke Runtime Konkurensi Membandingkan OpenMP dengan Runtime Konkurensi dan memberikan contoh tentang cara memigrasikan kode OpenMP yang ada untuk menggunakan Concurrency Runtime.
Parallel Patterns Library (PPL) Memperkenalkan Anda ke PPL, yang menyediakan perulangan paralel, tugas, dan kontainer paralel.
Pustaka Agen Asinkron Memperkenalkan Anda tentang cara menggunakan agen asinkron dan passing pesan untuk menggabungkan aliran data dan tugas alur dengan mudah dalam aplikasi Anda.
Tugas Microsoft Azure Scheduler Memperkenalkan Anda ke Task Scheduler, yang memungkinkan Anda menyempurnakan performa aplikasi desktop yang menggunakan Concurrency Runtime.

Paralelisme Tugas dalam PPL

Artikel Deskripsi
Paralelisme Tugas

Cara: Menggunakan parallel_invoke untuk Menulis Rutinitas Pengurutan Paralel

Cara: Menggunakan parallel_invoke untuk Menjalankan Operasi Paralel

Cara: Membuat Tugas yang Selesai Setelah Penundaan
Menjelaskan tugas dan grup tugas, yang dapat membantu Anda menulis kode asinkron dan menguraikan pekerjaan paralel menjadi bagian yang lebih kecil.
Panduan: Menerapkan Futures Menunjukkan cara menggabungkan fitur Concurrency Runtime untuk melakukan sesuatu yang lebih.
Panduan: Menghapus Pekerjaan dari Utas Antarmuka Pengguna Menunjukkan cara memindahkan pekerjaan yang dilakukan oleh utas UI dalam aplikasi MFC ke utas pekerja.
Praktik Terbaik di Pustaka Pola Paralel

Praktik Terbaik Umum dalam Runtime Konkurensi
Memberikan tips dan praktik terbaik untuk bekerja dengan PPL.

Paralelisme Data dalam PPL

Artikel Deskripsi
Algoritma Paralel

Cara: Menulis perulangan parallel_for

Cara: Menulis perulangan parallel_for_each

Cara: Melakukan Operasi Peta dan Kurangi Secara Paralel
parallel_forMenjelaskan , parallel_for_each, parallel_invoke, dan algoritma paralel lainnya. Gunakan algoritma paralel untuk menyelesaikan masalah paralel data yang melibatkan pengumpulan data.
Kontainer dan Objek Paralel

Cara: Menggunakan Kontainer Paralel untuk Meningkatkan Efisiensi

Cara: Menggunakan yang dapat dikombinasikan untuk Meningkatkan Performa

Cara: Menggunakan yang dapat dikombinasikan untuk Menggabungkan Set
combinable Menjelaskan kelas, serta concurrent_vector, , concurrent_queueconcurrent_unordered_map, dan kontainer paralel lainnya. Gunakan kontainer dan objek paralel saat Anda memerlukan kontainer yang menyediakan akses aman utas ke elemennya.
Praktik Terbaik di Pustaka Pola Paralel

Praktik Terbaik Umum dalam Runtime Konkurensi
Memberikan tips dan praktik terbaik untuk bekerja dengan PPL.

Membatalkan Tugas dan Algoritma Paralel

Artikel Deskripsi
Pembatalan di PPL Menjelaskan peran pembatalan di PPL, termasuk cara memulai dan menanggapi permintaan pembatalan.
Cara: Menggunakan Pembatalan untuk Memutuskan dari Perulangan Paralel

Cara: Menggunakan Penanganan Pengecualian untuk Memutuskan dari Perulangan Paralel
Menunjukkan dua cara untuk membatalkan pekerjaan paralel data.

aplikasi Platform Windows Universal

Artikel Deskripsi
Membuat Operasi Asinkron di C++ untuk Aplikasi UWP Menjelaskan beberapa poin penting yang perlu diingat saat Anda menggunakan Runtime Konkurensi untuk menghasilkan operasi asinkron di aplikasi UWP.
Panduan: Koneksi Menggunakan Tugas dan Permintaan HTTP XML Memperlihatkan cara menggabungkan tugas PPL dengan IXMLHTTPRequest2 antarmuka dan IXMLHTTPRequest2Callback untuk mengirim permintaan HTTP GET dan POST ke layanan web di aplikasi UWP.
Sampel aplikasi Windows Runtime Berisi sampel kode yang dapat diunduh dan aplikasi demo untuk Windows Runtime.

Pemrograman Aliran Data di Pustaka Agen Asinkron

Artikel Deskripsi
Agen Asinkron

Blok Pesan Asinkron

Fungsi Passing Pesan

Cara: Menerapkan Berbagai Pola Produsen-Konsumen

Cara: Menyediakan Fungsi Kerja ke Kelas panggilan dan transformator

Cara: Menggunakan transformator dalam Alur Data

Cara: Pilih Di Antara Tugas yang Selesai

Cara: Mengirim Pesan pada Interval Reguler

Cara: Menggunakan Filter Blok Pesan
Menjelaskan agen asinkron, blok pesan, dan fungsi pengiriman pesan, yang merupakan blok penyusun untuk melakukan operasi aliran data di Runtime Konkurensi.
Panduan: Membuat Aplikasi Berbasis Agen

Panduan: Membuat Agen Aliran Data
Menunjukkan cara membuat aplikasi dasar berbasis agen.
Panduan: Membuat Jaringan Pemrosesan Gambar Memperlihatkan cara membuat jaringan blok pesan asinkron yang melakukan pemrosesan gambar.
Panduan: Menggunakan gabungan untuk Mencegah Kebuntuan Menggunakan masalah filsuf makan untuk menggambarkan cara menggunakan Runtime Konkurensi untuk mencegah kebuntuan dalam aplikasi Anda.
Panduan: Membuat Blok Pesan Kustom Memperlihatkan cara membuat jenis blok pesan kustom yang mengurutkan pesan masuk berdasarkan prioritas.
Praktik Terbaik di Pustaka Agen Asinkron

Praktik Terbaik Umum dalam Runtime Konkurensi
Memberikan tips dan praktik terbaik untuk bekerja dengan agen.

Penanganan dan Penelusuran Kesalahan Pengecualian

Artikel Deskripsi
Penanganan Pengecualian Menjelaskan cara bekerja dengan pengecualian dalam Runtime Konkurensi.
Alat Diagnostik Paralel Mengajari Anda cara menyempurnakan aplikasi Anda dan memanfaatkan Runtime Konkurensi yang paling efektif.

Menyetel Performa

Artikel Deskripsi
Alat Diagnostik Paralel Mengajari Anda cara menyempurnakan aplikasi Anda dan memanfaatkan Runtime Konkurensi yang paling efektif.
Instans Penjadwal

Cara: Mengelola Instans Scheduler

Kebijakan Penjadwal

Cara: Menentukan Kebijakan Penjadwal Tertentu

Cara: Membuat Agen yang Menggunakan Kebijakan Penjadwal Tertentu
Menunjukkan cara bekerja dengan mengelola instans penjadwal dan kebijakan penjadwal. Untuk aplikasi desktop, kebijakan penjadwal memungkinkan Anda mengaitkan aturan tertentu dengan jenis beban kerja tertentu. Misalnya, Anda dapat membuat satu instans penjadwal untuk menjalankan beberapa tugas pada prioritas utas yang ditingkatkan dan menggunakan penjadwal default untuk menjalankan tugas lain pada prioritas utas normal.
Jadwalkan Grup

Cara: Menggunakan Grup Jadwal untuk Memengaruhi Urutan Eksekusi
Menunjukkan cara menggunakan grup jadwal untuk mendefinisikan, atau mengelompokkan, tugas terkait bersama-sama. Misalnya, Anda mungkin memerlukan tingkat lokalitas yang tinggi di antara tugas-tugas terkait ketika tugas tersebut mendapat manfaat dari eksekusi pada simpul prosesor yang sama.
Tugas Ringan Menjelaskan bagaimana tugas ringan berguna untuk membuat pekerjaan yang tidak memerlukan penyeimbangan beban atau pembatalan, dan bagaimana tugas tersebut juga berguna untuk mengadaptasi kode yang ada untuk digunakan dengan Runtime Konkurensi.
Konteks

Cara: Menggunakan Kelas Konteks untuk Menerapkan Koperasi Semaphore

Cara: Menggunakan Oversubscription untuk Mengimbangi Latensi
Menjelaskan cara mengontrol perilaku utas yang dikelola oleh Concurrency Runtime.
Fungsi Manajemen Memori

Cara: Gunakan Alokasi dan Gratis untuk Meningkatkan Performa Memori
Menjelaskan fungsi manajemen memori yang disediakan Runtime Konkurensi untuk membantu Anda mengalokasikan dan membebaskan memori secara bersamaan.

Sumber Daya Tambahan

Artikel Deskripsi
Pola dan tips pemrograman asinkron di Hilo (aplikasi Windows Store menggunakan C++ dan XAML) Pelajari cara kami menggunakan Runtime Konkurensi untuk menerapkan operasi asinkron di Hilo, aplikasi Windows Runtime menggunakan C++ dan XAML.
Pemrograman Paralel di blog Kode Asli Menyediakan artikel blog mendalam tambahan tentang pemrograman paralel dalam Concurrency Runtime.
Komputasi Paralel di forum C++ dan Native Code Memungkinkan Anda berpartisipasi dalam diskusi komunitas tentang Concurrency Runtime.
Pemrograman Paralel Mengajarkan Anda tentang model pemrograman paralel yang tersedia di .NET Framework.

Baca juga

Referensi