Bagikan melalui


Runtime Konkruensi

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 resource ini untuk membantu Anda memulai bekerja dengan Concurrency Runtime.

Untuk dokumentasi referensi, lihat Referensi.

Petunjuk / Saran

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
Ringkasan Menjelaskan mengapa Runtime Keserentakan penting dan menggambarkan fitur-fitur kuncinya.
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 Kerangka Kerja Konkruensi Membandingkan OpenMP dengan Concurrency Runtime dan memberikan contoh tentang cara memigrasi kode OpenMP yang ada untuk menggunakan Concurrency Runtime.
Pustaka Pola Paralel (PPL) Memperkenalkan Anda ke PPL, yang menyediakan perulangan paralel, tugas, dan kontainer paralel.
Pustaka Agen Asinkron Memperkenalkan Anda kepada cara menggunakan agen asinkron dan pengiriman pesan untuk memasukkan tugas aliran data dan pipelining dengan mudah dalam aplikasi Anda.
Penjadwal Tugas 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 Langkah demi Langkah: Menerapkan Futures Menunjukkan cara menggabungkan fitur Concurrency Runtime untuk melakukan sesuatu yang lebih.
Panduan Langkah-demi-Langkah: Menghapus Pekerjaan dari Utas Antarmuka Pengguna Menunjukkan cara memindahkan pekerjaan yang dilakukan oleh thread UI dalam aplikasi MFC ke thread pekerja.
Praktik Terbaik di Pustaka Pola Paralel

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

Paralelisme Data dalam PPL

Artikel Deskripsi
Algoritma Paralel

Panduan Menulis loop parallel_for

Cara: Menulis loop parallel_for_each

Cara: Melakukan Operasi Map dan Reduce 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
Menjelaskan kelas combinable, serta concurrent_vector, concurrent_queue, concurrent_unordered_map, dan kontainer paralel lainnya. Gunakan kontainer dan objek paralel saat Anda memerlukan kontainer yang menyediakan akses aman dari gangguan ke elemennya.
Praktik Terbaik di Pustaka Pola Paralel

Praktik Terbaik Umum dalam Concurrency Runtime
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 Menghentikan Perulangan Paralel

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

aplikasi Platform Windows Universal

Artikel Deskripsi
Membuat Operasi Asinkron di C++ untuk Aplikasi UWP Beberapa poin penting perlu diingat ketika menggunakan Concurrency Runtime untuk menjalankan operasi asinkron dalam aplikasi UWP.
Langka-langkah: Menyambungkan 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
Agent Asinkron

Blok Pesan Asinkron

Fungsi Pengiriman Pesan

Cara: Menerapkan Berbagai Pola Produsen-Konsumen

Cara: Menyediakan Fungsi Pekerjaan ke Kelas Panggilan dan Kelas 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 pengoperan pesan, yang merupakan komponen dasar untuk melakukan operasi aliran data di Concurrency Runtime.
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 join untuk Mencegah Kebuntuan Menggunakan masalah filsuf makan untuk menggambarkan bagaimana menggunakan Concurrency Runtime guna 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 Keserentakan
Memberikan tips dan praktik terbaik untuk bekerja dengan agen.

Pemrosesan Pengecualian dan Pembaikan Kode

Artikel Deskripsi
Penanganan Pengecualian Menjelaskan cara menangani pengecualian di dalam Concurrency Runtime.
Alat Diagnostik Paralel Mengajari Anda cara menyempurnakan aplikasi Anda dan memanfaatkan Concurrency Runtime secara efektif.

Menyetel Kinerja

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

Cara: Mengelola Instans Penjadwal

Kebijakan Penjadwal

Cara: Menentukan Kebijakan Penjadwal Tertentu

Cara: Membuat Agen yang Menggunakan Kebijakan Penjadwal Tertentu
Menunjukkan cara 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 ini juga berguna untuk mengadaptasi kode yang ada untuk digunakan dengan Concurrency Runtime.
Konteks

Cara: Menggunakan Kelas Konteks untuk Menerapkan Semaphore Koperatif

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

Memanfaatkan Alloc dan Free untuk Meningkatkan Kinerja Memori
Menjelaskan fungsi manajemen memori yang disediakan oleh Concurrency Runtime untuk membantu Anda mengalokasikan dan membebaskan memori secara konkuren.

Sumber Tambahan

Artikel Deskripsi
Pola dan tips pemrograman asinkron di Hilo (aplikasi Windows Store menggunakan C++ dan XAML) Pelajari cara kami menggunakan Concurrency Runtime untuk menerapkan operasi asinkron di Hilo, sebuah aplikasi Windows Runtime yang 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.

Lihat juga

Referensi