Rumah >Java >javaTutorial >Peranan generik fungsi Java dalam pengaturcaraan serentak
Peranan generik fungsi Java dalam pengaturcaraan serentak: Anda boleh mencipta utiliti serentak pelbagai guna yang boleh digunakan dengan pelbagai jenis data, menjadikan jenis kod anda selamat. Buat tugasan selari menggunakan antara muka berfungsi Boleh Panggil dan Boleh Dijalankan, dengan parameter generik mewakili jenis data yang diproses oleh tugasan tersebut. Serahkan tugas kepada ExecutorService untuk pelaksanaan selari. Dengan menggunakan generik untuk mencipta tugas biasa, anda boleh mengira kuasa dua jenis elemen yang berbeza dalam senarai secara selari, meningkatkan kebolehgunaan semula kod.
Peranan Generik Fungsi Java dalam Pengaturcaraan Serentak
Pengenalan
Generik Fungsi Java membenarkan anda menggunakan parameter jenis untuk mencipta kod selamat jenis. Dalam pengaturcaraan serentak, generik fungsi boleh digunakan untuk mencipta utiliti serentak serba boleh yang boleh digunakan dengan pelbagai jenis data.
Pengaturcaraan serentak menggunakan generik berfungsi
Anda boleh menggunakan antara muka fungsi Boleh Dipanggil
dan Dapat Dijalankan
untuk mencipta tugasan selari. Antara muka ini mempunyai parameter generik yang mewakili jenis data yang dikendalikan oleh tugas. Contohnya: Callable
和 Runnable
函数式接口来创建并行任务。这些接口具有一个泛型参数,代表任务处理的数据类型。例如:
Callable<Integer> task = () -> { // 处理数据并返回结果 return 42; };
您可以将这些任务提交给 ExecutorService
ExecutorService executor = Executors.newFixedThreadPool(4); List<Future<Integer>> results = executor.invokeAll(tasks);Anda boleh menyerahkan tugasan ini kepada
ExecutorService
untuk pelaksanaan selari. Parameter generik memastikan keselamatan rangkaian kerana tugasan berbeza hanya boleh mengakses jenis data khusus mereka sendiri: <T> Callable<T> squareTask(T element) { return () -> { return element * element; }; }Contoh praktikal Katakan anda sedang memproses senarai yang mengandungi jenis data yang berbeza dan ingin mengira setiap satu secara selari Kuasa dua unsur. Anda boleh menggunakan generik fungsi untuk mencipta tugasan generik yang menerima unsur dari sebarang jenis, mengira kuasa duanya dan mengembalikan hasilnya:
List<Integer> numbers = List.of(1, 2, 3, 4, 5); ExecutorService executor = Executors.newFixedThreadPool(4); List<Callable<Integer>> tasks = new ArrayList<>(); for (int number : numbers) { tasks.add(squareTask(number)); } List<Future<Integer>> results = executor.invokeAll(tasks);Kini anda boleh menggunakan tugas ini untuk mengira kuasa dua semua elemen dalam senarai secara selari:
rrreee Kesimpulan
Generik fungsi Java menyediakan alatan berkuasa untuk pengaturcaraan serentak. Dengan menggunakan parameter jenis, anda boleh mencipta utiliti serentak serba boleh yang boleh digunakan dengan jenis data yang berbeza, memastikan keselamatan benang dan kebolehgunaan semula kod. 🎜Atas ialah kandungan terperinci Peranan generik fungsi Java dalam pengaturcaraan serentak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!