Memahami Threading dan Tugas
Jelajahi threading dan tugas untuk mengelola pemrosesan paralel dalam C#
Memahami Threading dan Tugas adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 5. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C# Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C# Academy mencakup 5 pelajaran total.
Pengenalan Penggunaan Utas dan Tugas
Memahami Penggunaan Utas dan Tugas
Selamat datang di pelajaran berikutnya! Dalam pelajaran ini, Anda akan mempelajari penggunaan utas dan tugas dalam C#, yang memungkinkan Anda menjalankan beberapa operasi secara bersamaan untuk mendapatkan kinerja yang lebih baik. Mari mulai!

Apa Itu Penggunaan Utas
Apa Itu Penggunaan Utas?
Penggunaan utas adalah proses menjalankan beberapa operasi secara bersamaan. Setiap utas mewakili alur kendali terpisah dalam aplikasi Anda.
Poin Utama: Penggunaan utas meningkatkan kinerja dengan memanfaatkan beberapa inti prosesor untuk eksekusi bersamaan.
Membuat dan Memulai Utas
Membuat dan Memulai Utas
Anda dapat membuat dan memulai utas menggunakan kelas Thread. Contoh:
using System;
using System.Threading;
class Program {
static void Main() {
Thread thread = new Thread(PrintNumbers);
thread.Start();
Console.WriteLine("Main thread is running...");
}
static void PrintNumbers() {
for (int i = 1; i <= 5; i++) {
Console.WriteLine(i);
Thread.Sleep(1000); // Pause for 1 second
}
}
}
Pengenalan Tugas
Pengenalan Tugas
Tugas menyediakan abstraksi tingkat lebih tinggi untuk pemrograman bersamaan dibandingkan utas. Kelas Task merupakan bagian dari Pustaka Tugas Paralel (TPL) dalam C#.
Contoh: Membuat dan memulai tugas:
Kiat: Tugas lebih mudah dikelola dan menyediakan penanganan kesalahan yang lebih baik dibandingkan utas.
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
Task task = Task.Run(() => {
for (int i = 1; i <= 5; i++) {
Console.WriteLine(i);
Task.Delay(1000).Wait();
}
});
Console.WriteLine("Main thread is running...");
task.Wait(); // Wait for the task to complete
}
}
Menggunakan Parallel.For dan Parallel.ForEach
Menggunakan Parallel.For dan Parallel.ForEach
Kelas Parallel dalam C# memungkinkan Anda menjalankan pengulangan secara paralel untuk mendapatkan kinerja yang lebih baik. Contoh:
Poin Utama: Gunakan Parallel.For dan Parallel.ForEach untuk tugas yang intensif data dan dapat dijalankan secara bersamaan.
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
Parallel.For(0, 5, i => {
Console.WriteLine($"Processing {i} on thread {Task.CurrentId}");
});
Console.WriteLine("All tasks completed.");
}
}
Menangani Pengecualian dalam Tugas
Menangani Pengecualian dalam Tugas
Anda dapat menangkap pengecualian dalam tugas menggunakan blok try-catch atau properti Task.Exception. Contoh:
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
try {
Task task = Task.Run(() => {
throw new InvalidOperationException("Task failed!");
});
task.Wait();
} catch (AggregateException ex) {
Console.WriteLine("Error: " + ex.InnerException.Message);
}
}
}
Tantangan Latihan
Tantangan Latihan
Buat program yang memulai beberapa tugas untuk memproses angka secara paralel dan menampilkan kuadratnya. Contoh:
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
int[] numbers = { 1, 2, 3, 4, 5 };
Parallel.ForEach(numbers, number => {
Console.WriteLine($"Square of {number}: {number * number}");
});
}
}
Praktik Terbaik untuk Penggunaan Utas dan Tugas
Praktik Terbaik untuk Penggunaan Utas dan Tugas
Berikut beberapa praktik terbaik:
- Utamakan
TaskdaripadaThreaduntuk pemrosesan bersamaan tingkat tinggi. - Gunakan kelas
Paralleluntuk operasi yang intensif data. - Tangani pengecualian dengan benar untuk memastikan aplikasi yang tangguh.
- Batasi jumlah utas atau tugas untuk menghindari persaingan sumber daya.
Kiat: Gunakan pemrograman async ketika operasi masukan/keluaran lebih dominan, dan gunakan utas atau tugas untuk tugas yang terikat CPU.
Kerja bagus!
Kerja bagus!
Selamat! Anda telah mempelajari dasar-dasar penggunaan utas dan tugas untuk pemrograman bersamaan dalam C#. Pada pelajaran berikutnya, kita akan membahas delegasi dan ekspresi lambda, dua fitur canggih untuk pemrograman fungsional. Mari terus menulis kode!

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memahami Threading dan Tugas” gratis?
Ya — teks lengkap “Memahami Threading dan Tugas” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C# Academy, upgrade ke CoddyKit PRO. Kursus C# Academy mencakup 5 pelajaran total.
Apa yang akan aku pelajari di “Memahami Threading dan Tugas”?
Jelajahi threading dan tugas untuk mengelola pemrosesan paralel dalam C# Kamu berlatih C# Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C# Academy?
Tidak diperlukan pengalaman sebelumnya. C# Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 5.
Berapa lama pelajaran “Memahami Threading dan Tugas” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C# Academy ini?
Ya. Setiap pelajaran C# Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Generik dalam C#
- Async dan Await: Bekerja dengan Kode Asinkron
- Memahami Threading dan Tugas
- Menjelajahi Delegasi dan Lambda
- Memahami Refleksi dalam C#