Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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. |