Pemahaman mendalam tentang Task.Start(), Task.Run() dan Task.Factory.StartNew()
Pustaka Selari Tugas (TPL) menyediakan pelbagai cara untuk mencipta dan menjadualkan operasi tak segerak. Artikel ini bertujuan untuk menjelaskan senario penggunaan dan perbezaan Task.Start(), Task.Run() dan Task.Factory.StartNew().
Perbandingan Task.Start(), Task.Run() dan Task.Factory.StartNew()
Walaupun ketiga-tiga kaedah boleh mencipta dan memulakan tugas tak segerak, ia mempunyai fungsi dan kegunaan yang berbeza.
Task.Start()
Task.Start() ialah kaedah peringkat rendah yang memerlukan penciptaan manual dan penjadualan tugas. Ia mempunyai kawalan terhad ke atas pelaksanaan tugas dan biasanya tidak disyorkan untuk kebanyakan senario.
Task.Run()
Task.Run() menyediakan pintasan ke Task.Factory.StartNew() dengan parameter khusus dan selamat. Ia mencipta tugas baharu pada penjadual lalai, dengan pilihan seperti menafikan lampiran anak dan menggunakan bendera batal lalai.
Task.Factory.StartNew()
Task.Factory.StartNew() ialah kaedah yang paling fleksibel dan berkuasa. Ia membenarkan penciptaan tugas tersuai dan pilihan penjadualan termasuk:
Bila hendak menggunakan setiap kaedah
Ringkasan
Untuk kebanyakan tujuan praktikal, Task.Run() ialah pilihan utama untuk operasi tak segerak. Jika anda memerlukan lebih banyak penyesuaian, Task.Factory.StartNew() menyediakan fleksibiliti yang diperlukan. Walau bagaimanapun, elakkan menggunakan Task.Start() melainkan anda mempunyai sebab yang kukuh.
Atas ialah kandungan terperinci Task.Start(), Task.Run(), dan Task.Factory.StartNew(): Bilakah Anda Harus Menggunakan Setiap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!