0Pricing
C# Academy · Pelajaran

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!

Memahami Threading dan Tugas — ilustrasi 1

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 Task daripada Thread untuk pemrosesan bersamaan tingkat tinggi.
  • Gunakan kelas Parallel untuk 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!

Memahami Threading dan Tugas — ilustrasi 10

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

  1. Generik dalam C#
  2. Async dan Await: Bekerja dengan Kode Asinkron
  3. Memahami Threading dan Tugas
  4. Menjelajahi Delegasi dan Lambda
  5. Memahami Refleksi dalam C#
← Kembali ke C# Academy