.Penciptaan Tugasan BERSIH: Task.Run() lwn. Task.Factory.StartNew()
Kelas Task
rangka kerja .NET memudahkan pengaturcaraan tak segerak. Walaupun Task.Factory.StartNew()
telah lama menjadi standard untuk mencipta tugasan baharu, Task.Run()
menawarkan alternatif yang lebih mudah. Artikel ini menjelaskan perbezaan dan membimbing anda dalam memilih kaedah yang sesuai.
Task.Run(): Kesederhanaan untuk Tugasan Setiap Hari
Task.Run()
memperkemas penciptaan tugas, sesuai untuk senario di mana tetapan lalai sudah memadai. Kemudahan penggunaannya menjadikannya sempurna untuk operasi tak segerak yang tidak rumit.
Task.Factory.StartNew(): Kawalan dan Penyesuaian Lanjutan
Task.Factory.StartNew()
menawarkan kawalan terperinci ke atas tingkah laku tugas, membenarkan penyesuaian:
LongRunning
).Bila Gunakan Yang Mana?
Untuk tugasan mudah tanpa keperluan khas, Task.Run()
ialah pilihan yang lebih ringkas. Walau bagaimanapun, untuk senario kompleks yang menuntut kawalan yang terperinci, Task.Factory.StartNew()
menyediakan fleksibiliti yang diperlukan.
Contoh Ilustrasi: Operasi Jangka Panjang
Andaikan anda memerlukan tugasan berpanjangan yang tidak sepatutnya menggunakan benang kumpulan benang. Task.Run()
tidak membenarkan ini. Task.Factory.StartNew()
, bagaimanapun, membenarkan ini melalui pilihan LongRunning
:
<code class="language-csharp">Task.Factory.StartNew(..., TaskCreationOptions.LongRunning);</code>
Ringkasan
Task.Run()
memudahkan permulaan tugas, manakala Task.Factory.StartNew()
menawarkan kawalan yang lebih baik. Memahami perbezaan mereka adalah kunci untuk menulis kod tak segerak yang cekap dan boleh disesuaikan. Pilih kaedah yang paling sesuai dengan keperluan pengaturcaraan tak segerak khusus anda.
Atas ialah kandungan terperinci Task.Run() vs. Task.Factory.StartNew(): Bilakah Saya Perlu Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!