Java基礎學習:java多線程編程

Java基礎學習:java多線程編程

長沙一度軟件培訓      2022-04-12 09:56:01     1

Java基礎學習:java多線程編程,  當前Java提供的多線程編程中類,主要包括:  Executor,Executors,ExecutorService,ScheduledExecutorService,AbstractExec

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹


  當前Java提供的多線程編程中類,主要包括:


  Executor,Executors,ExecutorService,ScheduledExecutorService,AbstractExecutorService等。


  本文簡要的對其作用做個介紹,因為每個類和API的應用,都要花時間認真學習和研究,這里只做個導引介紹,暫不做應用詳解。


  導引


  系統(tǒng)啟動一個新線程的成本是比較高的,因為涉及與操作系統(tǒng)交互。使用線程池可以很好地提高性能,尤其是當程序中需要創(chuàng)建大量生存期很短的線程時,更應該考慮使用線程池。線程池在系統(tǒng)啟動時即創(chuàng)建大量空閑的線程,程序將一個Runnable對象或Callable對象傳給線程池,線程池就會啟動一個線程來執(zhí)行它們的run()或call()方法,當run()或call()方法執(zhí)行結束后,該線程并不會死亡,而是再次返回線程池中成為空閑狀態(tài),等待執(zhí)行下一個Runnable對象的run()或call()方法。


  線程池也可以有效控制系統(tǒng)中并發(fā)線程的數(shù)量,當系統(tǒng)中包含大量并發(fā)線程時,會導致系統(tǒng)性能劇烈下降,甚至導致JVM崩潰,而線程池的最大線程數(shù)參數(shù)可以控制系統(tǒng)中并發(fā)線程數(shù)不超過此數(shù)。


  Java線程池(JDK5+)


  Java5內(nèi)建線程池,新增了Executors工廠類來產(chǎn)生線程池,該工廠類包含如下幾個靜態(tài)工廠方法來創(chuàng)建線程池。


  ExecutorServicenewCachedThreadPool()創(chuàng)建一個具有緩沖功能的線程池


  ExecutorServicenewFixedThreadPool(intn)創(chuàng)建一個可重用的,具有固定線程數(shù)的線程池


  ExecutorServicenewSingleThreadExecutor()創(chuàng)建一個只有單線程的線程池,與newFixedThreadPool(1)相同


  ScheduledExecutorServicenewScheduledThreadPool(intcorePoolSize)創(chuàng)建一個具有指定線程數(shù)的線程池,它可以在指定延遲后執(zhí)行線程任務。


  ScheduledExecutorServicenewSingleThreadScheduledExecutor()創(chuàng)建只有一個線程數(shù)的線程池,它可以在指定延遲后執(zhí)行線程任務。


  ExecutorService代表盡快執(zhí)行線程的線程池(只要線程池中有空閑的線程池,就立刻執(zhí)行線程任務)。


  ScheduledExecutorService代表可在指定延遲后或周期性地執(zhí)行線程任務的線程池。



  以上就是長沙一度軟件培訓java培訓機構的小編針對“Java基礎學習:java多線程編程”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。


Java基礎學習

培訓啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹慎!任何要求預付定金、匯款等方式均存在風險,謹防上當。