Dengan pembangunan teknologi Internet yang berterusan, skala dan kerumitan aplikasi Web menjadi lebih tinggi dan lebih tinggi, dan keperluan untuk prestasi program, kebolehskalaan dan keteguhan juga semakin tinggi. Pengaturcaraan tak segerak ialah salah satu mod pengaturcaraan yang muncul untuk memenuhi keperluan ini. Sebagai bahasa pengaturcaraan yang sangat popular, Java juga mempunyai sokongan yang kaya untuk pengaturcaraan tak segerak. Artikel ini akan memperkenalkan secara ringkas pengaturcaraan tak segerak di Java.
Pendek kata pengaturcaraan tak segerak, adalah untuk melaksanakan operasi yang sepadan selepas peristiwa itu berlaku. Berbanding dengan pengaturcaraan segerak, pengaturcaraan tak segerak boleh meningkatkan keselarasan dan prestasi program dengan lebih baik, dan juga boleh mengurus sumber dengan lebih baik.
Di Java, terdapat dua kaedah pengaturcaraan tak segerak utama: benang dan panggil balik. Antaranya, benang ialah kaedah pengaturcaraan tak segerak yang paling asas dan biasa digunakan, manakala panggilan balik lebih sesuai digunakan semasa memproses peristiwa I/O.
Di Java, kita boleh mencipta thread dengan melaksanakan antara muka Runnable atau mewarisi kelas Thread, contohnya:
rreeeDalam contoh ini , kami mencipta urutan baharu dengan mewarisi kelas Thread dan mengatasi kaedah lariannya. Mulakan benang dengan memanggil kaedah mula. Memandangkan benang dalam Java adalah preemptive, kami tidak dapat menentukan susunan pelaksanaan benang. Dalam contoh ini, "MyThread berjalan" mungkin menjadi output dahulu, atau "Main Thread berjalan" mungkin output pertama.
Sudah tentu, dalam pengaturcaraan sebenar, kita selalunya memerlukan kawalan yang lebih halus, seperti menggunakan kumpulan benang. Java menyediakan rangka kerja Pelaksana untuk menyokong penciptaan dan pengurusan kumpulan benang. Menggunakan kumpulan benang membolehkan anda mengawal bilangan utas dan peruntukan sumber dengan lebih baik.
Panggil balik ialah pendekatan pengaturcaraan yang lebih berorientasikan acara. Di Java, kita boleh melaksanakan panggilan balik dengan melaksanakan antara muka atau menggunakan kelas dalaman tanpa nama. Sebagai contoh, kita boleh mendaftarkan acara panggil balik untuk butang dengan melaksanakan antara muka ActionListener:
public class MyThread extends Thread { @Override public void run() { System.out.println("MyThread running"); } } public class Main { public static void main(String[] args) { MyThread thread = new MyThread(); thread.start(); System.out.println("Main Thread running"); } }
Dalam contoh ini, kami mencipta pendengar dengan melaksanakan antara muka ActionListener. Apabila butang diklik, kaedah actionPerformed dalam pendengar dipanggil secara automatik. Menggunakan panggilan balik boleh mengendalikan acara dengan lebih fleksibel dan mengurangkan gandingan kod.
Pengaturcaraan tak segerak mempunyai kelebihan berikut:
Terdapat dua kaedah pengaturcaraan tak segerak utama dalam Java: benang dan panggil balik. Prestasi, konkurensi dan kelajuan tindak balas program boleh dipertingkatkan dengan banyak melalui pengaturcaraan tak segerak. Dalam pengaturcaraan sebenar, anda perlu memilih kaedah pengaturcaraan yang sesuai mengikut senario tertentu, dan memberi perhatian kepada penulisan program tak segerak yang berkualiti tinggi dan boleh diselenggara.
Atas ialah kandungan terperinci Pengaturcaraan tak segerak dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!