Runtime Konkurensi

Concurrency Runtime untuk C ++ membantu Anda menulis aplikasi paralel yang kuat, terukur, 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 permintaan layanan aplikasi Anda. Gunakan sumber daya ini untuk membantu Anda mulai bekerja dengan Concurrency Runtime.

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 Concurrency Runtime penting dan menjelaskan fitur-fitur utamanya.
Membandingkan dengan Model Konkurensi Lainnya Memperlihatkan bagaimana Concurrency Runtime dibandingkan dengan model konkurensi lainnya, seperti kumpulan utas Windows dan OpenMP, sehingga Anda dapat menggunakan model konkurensi yang paling sesuai dengan kebutuhan aplikasi Anda.
Migrasi dari OpenMP ke Concurrency Runtime Membandingkan OpenMP dengan Concurrency Runtime dan memberikan contoh tentang cara memigrasikan kode OpenMP yang ada untuk menggunakan Concurrency Runtime.
Pustaka Pola Paralel (PPL) Memperkenalkan Anda ke PPL, yang menyediakan loop paralel, tugas, dan kontainer paralel.
Pustaka Agen Asinkron Memperkenalkan Anda tentang cara menggunakan agen asinkron dan pengiriman pesan untuk dengan mudah menggabungkan tugas aliran data dan pipelining dalam aplikasi Anda.
Tugas Microsoft Azure Scheduler Memperkenalkan Anda ke Penjadwal Tugas, yang memungkinkan Anda untuk menyempurnakan kinerja aplikasi desktop Anda yang menggunakan Concurrency Runtime.

Paralelisme Tugas di PPL

Artikel Deskripsi
Paralelisme Tugas

Cara: Gunakan parallel_invoke untuk Menulis Rutinitas SortOr Paralel

Cara: Gunakan parallel_invoke untuk Menjalankan Operasi Paralel

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

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

Paralelisme Data di PPL

Artikel Deskripsi
Algoritma Paralel

Cara: Menulis parallel_for Loop

Cara: Menulis parallel_for_each Loop

Cara: Lakukan Peta dan Kurangi Operasi Secara Paralel
Menjelaskan parallel_for, parallel_for_each, , parallel_invoke, dan algoritma paralel lainnya. Gunakan algoritma paralel untuk memecahkan masalah paralel data yang melibatkan pengumpulan data.
Kontainer dan Objek Paralel

Cara: Gunakan Kontainer Paralel untuk Meningkatkan Efisiensi

Cara: Gunakan gabungan untuk Meningkatkan Kinerja

Cara: Gunakan gabungan untuk Menggabungkan Set
combinable Menjelaskan kelas, serta concurrent_vector, , concurrent_queue, concurrent_unordered_map, dan wadah paralel lainnya. Gunakan kontainer dan objek paralel saat Anda memerlukan kontainer yang menyediakan akses aman thread ke elemennya.
Praktik Terbaik di Perpustakaan 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 dalam PPL, termasuk cara memulai dan menanggapi permintaan pembatalan.
Cara: Gunakan Pembatalan untuk Melepaskan diri dari Loop Paralel

Cara: Gunakan Penanganan Pengecualian untuk Melepaskan diri dari Loop Paralel
Menunjukkan dua cara untuk membatalkan pekerjaan paralel data.

Universelle Windows-Plattform aplikasi

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

Pemrograman Aliran Data di Pustaka Agen Asinkron

Artikel Deskripsi
Agen Asinkron

Blok Pesan Asinkron

Fungsi Passing Pesan

Cara: Menerapkan Berbagai Pola Producer-Consumer

Cara: Menyediakan Fungsi Kerja untuk Kelas panggilan dan transformator

Cara: Menggunakan transformator dalam Alur Data

Cara: Pilih Di Antara Tugas yang Selesai

Cara: Kirim Pesan secara Berkala

Cara: Menggunakan Filter Blok Pesan
Menjelaskan agen asinkron, blok pesan, dan fungsi pengiriman pesan, yang merupakan blok bangunan untuk melakukan operasi aliran data di Concurrency Runtime.
Panduan: Membuat Aplikasi Agent-Based

Panduan: Membuat Agen Aliran Data
Menunjukkan cara membuat aplikasi berbasis agen dasar.
Panduan: Membuat Jaringan Image-Processing Memperlihatkan cara membuat jaringan blok pesan asinkron yang melakukan pemrosesan gambar.
Panduan: Menggunakan bergabung untuk Mencegah Kebuntuan Menggunakan masalah filsuf makan untuk mengilustrasikan cara menggunakan Concurrency Runtime untuk mencegah kebuntuan dalam aplikasi Anda.
Panduan: Membuat Blok Pesan Kustom Memperlihatkan cara membuat jenis blok pesan kustom yang memesan pesan masuk berdasarkan prioritas.
Praktik Terbaik di Perpustakaan Agen Asinkron

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

Penanganan Pengecualian dan Debugging

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

Performa Penyetelan

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

Cara: Mengelola Instans Penjadwal

Kebijakan Penjadwal

Cara: Tentukan Kebijakan Penjadwal Tertentu

Cara: Membuat Agen yang Menggunakan Kebijakan Penjadwal Tertentu
Memperlihatkan 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 thread yang ditinggikan dan menggunakan penjadwal default untuk menjalankan tugas lain pada prioritas thread normal.
Jadwalkan Grup

Cara: Gunakan Grup Jadwal untuk Mempengaruhi Urutan Eksekusi
Menunjukkan cara menggunakan grup jadwal untuk afinitas, atau mengelompokkan, tugas terkait bersama-sama. Misalnya, Anda mungkin memerlukan tingkat lokalitas yang tinggi di antara tugas-tugas terkait ketika tugas-tugas tersebut mendapat manfaat dari eksekusi pada node 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 Concurrency Runtime.
Konteks

Cara: Gunakan Kelas Konteks untuk Menerapkan Semaphore Koperasi

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

Cara: Gunakan Alloc dan Gratis untuk Meningkatkan Kinerja Memori
Menjelaskan fungsi manajemen memori yang disediakan Concurrency Runtime untuk membantu Anda mengalokasikan dan membebaskan memori secara bersamaan.

Sumber Daya Tambahan

Artikel Deskripsi
Pola dan tips pemrograman Async di Hilo (Windows Menyimpan aplikasi menggunakan C ++ dan XAML) Pelajari cara kami menggunakan Concurrency Runtime untuk menerapkan operasi asinkron di Hilo, aplikasi Windows 运行时 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 Kode Asli Memungkinkan Anda untuk berpartisipasi dalam diskusi komunitas tentang Concurrency Runtime.
Pemrograman Paralel Mengajarkan Anda tentang model pemrograman paralel yang tersedia di .NET Framework.

Lihat juga

Referensi