Rumah  >  Artikel  >  Java  >  Pengaturcaraan tak segerak dalam Java

Pengaturcaraan tak segerak dalam Java

王林
王林asal
2023-06-09 11:33:591274semak imbas

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.

  1. Pengenalan kepada Pengaturcaraan Asynchronous

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.

  1. Threads

Di Java, kita boleh mencipta thread dengan melaksanakan antara muka Runnable atau mewarisi kelas Thread, contohnya:

rreee

Dalam 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.

  1. Panggil balik

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.

  1. Kelebihan pengaturcaraan tak segerak

Pengaturcaraan tak segerak mempunyai kelebihan berikut:

  • Meningkatkan keselarasan dan prestasi program serta menjimatkan sumber
  • Tingkatkan kelajuan tindak balas dan pengalaman pengguna program
  • Lebih mantap dan boleh mengendalikan situasi abnormal dengan lebih baik
  • Lebih fleksibel dan berskala, yang boleh meningkatkan kebolehsuaian dan kebolehselenggaraan program
  1. Ringkasan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn