Strategi pengoptimuman kumpulan benang: laraskan bilangan utas teras dan bilangan maksimum utas agar sepadan dengan beban kerja aplikasi; melaraskan bilangan utas teras daripada 10 kepada 4 , mengurangkan masa pelaksanaan daripada 52.3 saat kepada 2.75 saat strategi pengoptimuman lain termasuk pelarasan saiz kumpulan benang, pelarasan baris gilir, pengoptimuman dasar penolakan dan mekanisme tamat masa; . Berikut ialah beberapa strategi pengoptimuman kumpulan benang biasa:
//创建一个线程池 ExecutorService executorService = Executors.newFixedThreadPool(numThreads); //调整核心线程数和最大线程数 executorService = Executors.newFixedThreadPool(minThreads, maxThreads); //调整线程存活时间 executorService = Executors.newFixedThreadPool(numThreads, 60L, TimeUnit.SECONDS);
Contoh Praktikal:
Pertimbangkan aplikasi berbilang benang dengan ciri-ciri berikut:
Bilangan tugas: 10000
Perhitungan tugasan yang intensif: 1 saat Bilangan teras yang tersedia: 4
Menggunakan kumpulan benang lalai (10 utas teras), diperlukan//创建一个具有4个核心线程的线程池 ExecutorService executorService = Executors.newFixedThreadPool(4); //提交任务 for (int i = 0; i < numTasks; i++) { executorService.submit(new Task()); } //关闭线程池 executorService.shutdown();
Strategi pengoptimuman lain:
Saiz kolam benang: Laraskan saiz kumpulan benang secara dinamik berdasarkan beban kerja untuk mengoptimumkan penggunaan sumber.
Penalaan Baris: Laraskan saiz baris gilir dan taip dalam kumpulan benang untuk mengurus tugas menunggu dan mengelakkan sekatan.
Atas ialah kandungan terperinci Apakah strategi pengoptimuman kolam benang dalam pengaturcaraan selari Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!