Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menghentikan Benang .NET dengan Selamat?
Dalam pembangunan perisian, kadangkala mungkin perlu untuk menamatkan pelaksanaan thread secara pra-matang. Walau bagaimanapun, penggunaan langsung Thread.Abort() adalah tidak digalakkan kerana potensinya untuk menyebabkan tingkah laku yang tidak dijangka.
Sebaliknya, adalah disyorkan untuk melaksanakan pendekatan kerjasama untuk penamatan rangkaian. Ini melibatkan penciptaan urutan yang memantau bendera boolean, seperti keepGoing, yang menunjukkan sama ada ia harus terus berjalan.
public class WorkerThread { private bool _keepGoing = true; public void Run() { while (_keepGoing) { // Perform the intended work of the thread. } } public void Stop() { _keepGoing = false; } }
Pelaksanaan yang disemak ini membolehkan penutupan urutan yang selamat dan teratur apabila kaedah Stop dipanggil , menghalang kesan tidak diingini Thread.Abort().
Selain itu, urutan yang mungkin menghadapi operasi menyekat, seperti Tidur atau Tunggu, hendaklah bersedia untuk mengendalikan ThreadInterruptedException dan keluar dengan anggun.
try { while (_keepGoing) { // Perform the intended work of the thread. } } catch (ThreadInterruptedException exception) { // Handle the interruption and perform necessary cleanup. }
Dengan melaksanakan pendekatan kerjasama untuk penamatan rangkaian ini, pembangun boleh mengekalkan kawalan ke atas kitaran hayat urutan mereka, memastikan pelaksanaan aplikasi yang boleh dipercayai dan boleh diramal.
Atas ialah kandungan terperinci Bagaimana untuk Menghentikan Benang .NET dengan Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!