Rumah Java Javabermula 线程池的实现方式

线程池的实现方式

Feb 06, 2020 pm 06:26 PM
kolam benang

线程池的实现方式

线程池有以下几种实现方式:

Executors目前提供了5种不同的线程池创建配置:

1、newCachedThreadPool()

它是用来处理大量短时间工作任务的线程池,具有几个鲜明特点:它会试图缓存线程并重用,当无缓存线程可用时,就会创建新的工作线程;如果线程闲置时间超过60秒,则被终止并移除缓存;长时间闲置时,这种线程池,不会消耗什么资源。其内部使用SynchronousQueue作为工作队列。

视频教程推荐:java视频教程

2、newFixedThreadPool(int nThreads)

重用指定数目(nThreads)的线程,其背后使用的是无界的工作队列,任何时候最多有nThreads个工作线程是活动的。这意味着,如果任务数量超过了活动线程数目,将在工作队列中等待空闲线程出现;如果工作线程退出,将会有新的工作线程被创建,以补足指定数目nThreads。

3、newSingleThreadExecutor()

它的特点在于工作线程数目限制为1,操作一个无界的工作队列,所以它保证了所有的任务都是被顺序执行,最多会有一个任务处于活动状态,并且不予许使用者改动线程池实例,因此可以避免改变线程数目。

4、newSingleThreadScheduledExecutor()和newScheduledThreadPool(int corePoolSize)

创建的是个ScheduledExecutorService,可以进行定时或周期性的工作调度,区别在于单一工作线程还是多个工作线程。

5、newWorkStealingPool(int parallelism)

这是一个经常被人忽略的线程池,Java 8 才加入这个创建方法,其内部会构建ForkJoinPool,利用Work-Stealing算法,并行地处理任务,不保证处理顺序。

相关文章教程分享:java快速入门

Atas ialah kandungan terperinci 线程池的实现方式. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Python memperoleh maklumat dan ulasan tarikan pelancong serta mencipta awan perkataan dan visualisasi data Python memperoleh maklumat dan ulasan tarikan pelancong serta mencipta awan perkataan dan visualisasi data Apr 11, 2023 pm 08:49 PM

Hello semua, saya Zhanshujun! Seperti kata pepatah: Bukankah lebih baik untuk mempunyai kawan dari jauh? Ia adalah perkara yang sangat menggembirakan untuk mempunyai rakan-rakan datang bermain dengan kami, jadi kami harus melakukan yang terbaik untuk menjadi tuan tanah dan membawa rakan-rakan kami bermain! Jadi persoalannya ialah, bilakah masa terbaik dan ke mana hendak pergi, dan di manakah tempat yang paling menyeronokkan? Hari ini saya akan mengajar anda langkah demi langkah cara menggunakan kumpulan benang untuk merangkak maklumat tarikan dan menyemak data perjalanan yang sama serta membuat awan perkataan dan visualisasi data! ! ! Beritahu anda maklumat tentang tarikan pelancong di pelbagai bandar. Sebelum kita mula merangkak data, mari kita fahami urutan dahulu. Proses benang: Proses ialah aktiviti menjalankan kod pada pengumpulan data Ia adalah unit asas peruntukan sumber dan penjadualan dalam sistem. Thread: Ia adalah proses yang ringan, unit terkecil pelaksanaan program dan laluan pelaksanaan proses. satu

Cara menggunakan kumpulan benang untuk melaksanakan penjadualan tugasan bulat dalam Java 7 Cara menggunakan kumpulan benang untuk melaksanakan penjadualan tugasan bulat dalam Java 7 Jul 29, 2023 pm 10:37 PM

Cara menggunakan kumpulan benang untuk melaksanakan penjadualan tugasan bulat dalam Java7 Pengenalan: Apabila membangunkan aplikasi Java, menggunakan kumpulan benang boleh meningkatkan kecekapan pelaksanaan tugas dan penggunaan sumber. Dalam Java7, kumpulan benang boleh digunakan untuk melaksanakan penjadualan tugas dengan mudah. Artikel ini akan memperkenalkan cara menggunakan kumpulan benang untuk melaksanakan penjadualan tugasan bulat dalam Java7 dan melampirkan contoh kod yang sepadan. 1. Gambaran Keseluruhan: Kumpulan benang ialah struktur pemprosesan berbilang benang yang boleh menggunakan semula bilangan benang tetap untuk mengelakkan penciptaan yang kerap dan

Masalah beban pelayan biasa dan penyelesaiannya di bawah sistem Linux Masalah beban pelayan biasa dan penyelesaiannya di bawah sistem Linux Jun 18, 2023 am 09:22 AM

Linux ialah sistem pengendalian yang sangat baik yang digunakan secara meluas dalam sistem pelayan. Dalam proses menggunakan sistem Linux, masalah beban pelayan adalah fenomena biasa. Muatan pelayan bermakna sumber sistem pelayan tidak dapat memenuhi permintaan semasa, menyebabkan beban sistem menjadi terlalu tinggi, sekali gus menjejaskan prestasi pelayan. Artikel ini akan memperkenalkan masalah beban pelayan biasa dan penyelesaiannya di bawah sistem Linux. 1. Beban CPU terlalu tinggi Apabila beban CPU pelayan terlalu tinggi, ia akan menyebabkan masalah seperti tindak balas sistem yang lebih perlahan dan masa pemprosesan permintaan yang lebih lama. Apabila C

Cara menggunakan kumpulan benang untuk melaksanakan penjadualan tugas keutamaan dalam Java 7 Cara menggunakan kumpulan benang untuk melaksanakan penjadualan tugas keutamaan dalam Java 7 Jul 30, 2023 pm 06:38 PM

Cara menggunakan kumpulan benang untuk melaksanakan penjadualan keutamaan tugas dalam Java7 Dalam pengaturcaraan serentak, penjadualan keutamaan tugas adalah keperluan biasa. Java menyediakan mekanisme kumpulan benang yang membolehkan kami mengurus dan menjadualkan tugas dengan mudah. Artikel ini akan memperkenalkan cara menggunakan kumpulan benang untuk melaksanakan penjadualan keutamaan tugas dalam Java7. Pertama, kita perlu memahami konsep asas dan penggunaan kumpulan benang dalam Java7. Kumpulan benang ialah mekanisme penggunaan semula benang yang mengurus dan menjadualkan kumpulan benang untuk melaksanakan berbilang tugas. sebutan Jawa

Bagaimana untuk mengendalikan kumpulan benang perkhidmatan dan penjadualan tugas dalam seni bina microservice? Bagaimana untuk mengendalikan kumpulan benang perkhidmatan dan penjadualan tugas dalam seni bina microservice? May 17, 2023 am 08:36 AM

Dengan aplikasi seni bina perkhidmatan mikro yang meluas dalam aplikasi peringkat perusahaan, cara mengoptimumkan prestasi dan kestabilan perkhidmatan mikro telah menjadi tumpuan perhatian. Dalam perkhidmatan mikro, perkhidmatan mikro boleh mengendalikan beribu-ribu permintaan, dan kumpulan benang perkhidmatan dan penjadualan tugas juga merupakan komponen penting dalam prestasi dan kestabilan perkhidmatan mikro. Artikel ini akan memperkenalkan kumpulan benang dan penjadualan tugas dalam seni bina perkhidmatan mikro, dan cara mengoptimumkan prestasi kumpulan benang dan penjadualan tugas dalam perkhidmatan mikro. 1. Kumpulan benang dalam seni bina perkhidmatan mikro Dalam seni bina perkhidmatan mikro, setiap permintaan yang diproses oleh perkhidmatan mikro akan menduduki kumpulan benangnya.

Bermula dengan PHP: Thread Pools Bermula dengan PHP: Thread Pools May 20, 2023 pm 08:51 PM

Dengan kemunculan era Internet, laman web dan aplikasi menjadi semakin popular. Dalam pembangunan web, PHP adalah bahasa skrip yang sangat popular. PHP ialah bahasa yang ditafsirkan, yang boleh dilaksanakan pada pelayan. Memandangkan bahasa PHP mudah dipelajari dan digunakan, ia telah menjadi salah satu pilihan pertama untuk pembangun PHP. Walau bagaimanapun, apabila ia berkaitan dengan aplikasi muatan tinggi atau memproses sejumlah besar data pada pelayan, PHP adalah kurang sesuai. Oleh itu, kita perlu menggunakan kolam benang untuk menyelesaikan masalah ini. Apakah kolam benang? Kolam benang ialah a

Di manakah kolam benang musim bunga dikonfigurasikan? Di manakah kolam benang musim bunga dikonfigurasikan? Jan 19, 2024 pm 04:55 PM

Kaedah untuk mengkonfigurasi kumpulan benang musim bunga: 1. Gunakan ThreadPoolTaskExecutor Bean 2. Gunakan SimpleAsyncTaskExecutor 3. Gunakan TaskExecutor Bean dalam XML 4. Gunakan perpustakaan pihak ketiga 6. Konfigurasikan melalui sifat sistem atau pembolehubah; ; 7. Penyepaduan dan bekas 8. Konfigurasi terprogram 9. Penyepaduan menggunakan rangka kerja pihak ketiga;

Cara untuk meningkatkan prestasi Tomcat: gunakan kumpulan benang Cara untuk meningkatkan prestasi Tomcat: gunakan kumpulan benang Dec 28, 2023 am 08:09 AM

Tajuk: Menggunakan kumpulan benang untuk meningkatkan prestasi Tomcat Abstrak: Dengan perkembangan pesat Internet, prestasi aplikasi Web telah menjadi faktor penting. Memandangkan Tomcat ialah bekas pelayan yang digunakan secara meluas, cara meningkatkan prestasinya telah menjadi topik yang membimbangkan ramai pembangun. Artikel ini akan memperkenalkan cara menggunakan kumpulan benang untuk meningkatkan prestasi Tomcat, dan memberikan contoh kod khusus. Teks: 1. Pengenalan kepada kumpulan benang Kolam benang ialah kaedah pemprosesan berbilang benang yang biasa digunakan Ia boleh mengoptimumkan proses penciptaan dan pemusnahan dan menambah baik sistem.

See all articles