Memahami Penjalinan dan Tugasan
Terokai penjalinan dan tugasan untuk mengurus pemprosesan selari dalam C#
Memahami Penjalinan dan Tugasan ialah pelajaran Akademi C# percuma di CoddyKit. Ini ialah pelajaran 3 daripada 5. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi C#, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi C# merangkumi sejumlah 5 pelajaran.
Pengenalan kepada Pengutasan dan Tugas
Memahami Pengutasan dan Tugas
Selamat datang ke pelajaran seterusnya! Dalam pelajaran ini, anda akan mempelajari tentang pengutasan dan tugas dalam C#, yang membolehkan anda melaksanakan berbilang operasi secara serentak untuk prestasi yang lebih baik. Mari mulakan!

Apakah Pengutasan?
Pengutasan ialah proses melaksanakan berbilang operasi secara serentak. Setiap utas mewakili aliran kawalan yang berasingan dalam aplikasi anda.
Perkara utama: Pengutasan meningkatkan prestasi dengan menggunakan berbilang teras pemproses untuk pelaksanaan serentak.
Mencipta dan Memulakan Utas
Anda boleh mencipta dan memulakan 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 kepada Tugas
Tugas menyediakan abstraksi peringkat lebih tinggi untuk pengaturcaraan serentak berbanding utas. Kelas Task ialah sebahagian daripada Pustaka Selari Tugas (TPL) dalam C#.
Contoh: Mencipta dan memulakan tugas:
Petua: Tugas lebih mudah diurus dan menyediakan pengendalian ralat yang lebih baik berbanding 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
Kelas Parallel dalam C# membolehkan anda melaksanakan gelung secara selari untuk prestasi yang lebih baik. Contoh:
Perkara utama: Gunakan Parallel.For dan Parallel.ForEach untuk tugas yang memproses banyak data dan boleh dilaksanakan secara serentak.
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.");
}
}
Mengendalikan Pengecualian dalam Tugas
Anda boleh menangkap pengecualian dalam tugas menggunakan blok try-catch atau sifat 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);
}
}
}
Cabaran Latihan
Cipta program yang memulakan berbilang tugas untuk memproses nombor secara selari dan mencetak kuasa duanya. 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}");
});
}
}
Amalan Terbaik untuk Pengutasan dan Tugas
Berikut ialah beberapa amalan terbaik:
- Utamakan
TaskberbandingThreaduntuk keserentakan peringkat tinggi. - Gunakan kelas
Paralleluntuk operasi yang memproses banyak data. - Kendalikan pengecualian dengan betul untuk memastikan aplikasi yang teguh.
- Hadkan bilangan utas atau tugas untuk mengelakkan persaingan sumber.
Petua: Gunakan pengaturcaraan async apabila operasi input/output mendominasi, dan gunakan utas atau tugas untuk tugas yang terikat CPU.
Syabas!
Tahniah! Anda telah mempelajari asas pengutasan dan tugas untuk pengaturcaraan serentak dalam C#. Dalam pelajaran seterusnya, kita akan mendalami delegate dan ungkapan lambda, iaitu dua ciri berkuasa untuk pengaturcaraan fungsian. Mari terus menulis kod!

Pelajari C# dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 93
- Pelajaran
- 346
Soalan Lazim
Adakah pelajaran “Memahami Penjalinan dan Tugasan” percuma?
Ya — teks penuh “Memahami Penjalinan dan Tugasan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Akademi C#, tingkat taraf kepada CoddyKit PRO. Kursus Akademi C# merangkumi sejumlah 5 pelajaran.
Apakah yang akan saya pelajari dalam “Memahami Penjalinan dan Tugasan”?
Terokai penjalinan dan tugasan untuk mengurus pemprosesan selari dalam C# Anda berlatih Akademi C# menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Akademi C#?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi C# di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 5.
Berapa lamakah pelajaran “Memahami Penjalinan dan Tugasan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi C# ini?
Ya. Setiap pelajaran Akademi C# menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Generik dalam C#
- Async dan Await: Bekerja dengan Kod Tak Segerak
- Memahami Penjalinan dan Tugasan
- Meneroka Delegat dan Lambda
- Memahami Refleksi dalam C#