成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java的多線程和線程池的使用

開發 后端
多線程大大提高程序運行效率,我們在開發過程中經常會開啟一個線程來執行一些費時的任務。開啟一個線程有4種方式,在下面的文章我將詳細的去講解。

多線程大大提高程序運行效率,我們在開發過程中經常會開啟一個線程來執行一些費時的任務。開啟一個線程有4種方式,在下面的文章我將詳細的去講解。

[[423256]]

繼承Thread

繼承Thread去執行任務,確實可以開啟一個線程去執行任務,如果經常的去開啟一些線程,也會導致系統資源的浪費。

 

  1. public static class Mythread extends Thread{ 
  2.         @Override 
  3.         public void run() { 
  4.             System.out.println("當前線程"+Thread.currentThread().getId()); 
  5.             int i = 10/2; 
  6.             System.out.println("運行結果"+i); 
  7.         } 
  8.     } 
  9. //調用線程。 
  10. public static void main(String[] args) throws ExecutionException, InterruptedException { 
  11.         /**thread執行方式*/ 
  12.         Mythread mythread = new Mythread(); 
  13.         mythread.start();//啟動線程 
  14.         System.out.println("main--end"); 

實現Runnale接口。

 

  1. public static class MyRunable implements Runnable { 
  2.  
  3.     @Override 
  4.     public void run() { 
  5.         System.out.println("當前線程"+Thread.currentThread().getId()); 
  6.         int i = 10/2; 
  7.         System.out.println("運行結果"+i); 
  8.  
  9.     } 

調用。

 

  1. /** 
  2.  * runable的啟動方式 
  3.  */ 
  4.  
  5. MyRunable runable = new MyRunable(); 
  6. new Thread(runable).start(); 
  7. System.out.println("main--end"); 

Callable

 

  1. /** 
  2.  * Callable可以允許有返回值 
  3.  */ 
  4.  
  5. public static class Callale01 implements Callable<Integer> { 
  6.  
  7.     @Override 
  8.     public Integer call() throws Exception { 
  9.         System.out.println("當前線程"+Thread.currentThread().getId()); 
  10.         int i = 10/2; 
  11.         System.out.println("運行結果"+i); 
  12.         return i; 
  13.     } 

調用。這里需要用callable構建futureTask

 

  1. /** 
  2.  * callale的啟動方式 
  3.  */ 
  4. FutureTask<Integer> futureTask =new FutureTask<>(new Callale01()); 
  5. //取返回結果。 
  6. Integer i = futureTask.get(); 
  7. new Thread(futureTask).start(); 
  8. System.out.println("返回結果是:"+i); 

線程池

線程池才是我們java開發中,經常用到一種開啟多線程的方式,線程池,自己去管理線程。可以節省系統資源。通常我們會將下面的一些配置寫在一些配置類中

 

  1. /** 
  2.  * 七大參數 
  3.  * corePoolSize: 1.核心線程數[一直存在]: 線程池創建好了以后。就準備就緒的線程數量。 
  4.  * maxinumPoolSize: 2 最大線程數量 
  5.  * keepaliveTime: 存活時間。空閑線程的最大的等待時間。 
  6.  * unit  等待時間的單位 
  7.  * blockingQueue 阻塞隊列。如果任務很多就會放在隊列里面,只要有線程空閑了,就會去隊列里面去取。 
  8.  * threadFactory :線程的工廠。 
  9.  * RejectExecutionHandler :如果隊列滿了。按照我們指定的策略。拒絕執行任務。 
  10.  * 
  11.  */ 
  12.  ThreadPoolExecutor executor = new ThreadPoolExecutor(5,100,10,TimeUnit.SECONDS, 
  13.           new LinkedBlockingQueue<>(100), 
  14.                                                     Executors.defaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy()); 

常見的4種線程池。

1 newCachedThreadPool()

創建一個可緩存的線程池,如果線程池長度超過了處理的需要,可靈活的回收空閑線程。若無可回收。則創建新線程。

  1. Executors.newCachedThreadPool(); 

2.newFixedThreadPool(6)

創建一個固定大小的線程池。

3 newScheduledThreadPool()

定時任務的線程池。

4.newSingleThreadExecutor()

  1. Executors.newSingleThreadExecutor(); 

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2023-11-22 08:37:40

Java線程池

2009-03-12 10:52:43

Java線程多線程

2023-06-07 13:49:00

多線程編程C#

2013-05-23 15:59:00

線程池

2013-06-08 13:07:23

Java線程池調度器

2019-10-30 21:27:51

Java中央處理器電腦

2012-05-15 02:18:31

Java線程池

2012-02-29 13:26:20

Java

2016-11-10 16:30:22

Java多線程

2021-06-06 23:40:53

線程池使用場景

2024-11-27 08:15:50

2013-06-13 13:19:38

多線程

2009-06-29 18:08:51

Java多線程join方法

2024-01-15 10:55:40

Python多線程開發

2009-09-22 17:21:24

線程局部變量

2009-06-29 18:00:05

Java多線程Runnable接口創建線程

2024-06-04 07:52:04

2009-06-29 18:03:15

Java多線程線程的生命周期

2015-03-24 16:29:55

默認線程池java

2015-08-20 09:17:36

Java線程池
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产激情一区二区三区 | 人人干人人干人人 | 成人在线免费视频 | 天天干夜夜操 | av激情在线 | 国产视频精品免费 | 91久久精品一区二区二区 | 中文字幕高清 | 丝袜美腿一区二区三区 | 国产一区二区三区视频在线观看 | 欧美h版| 91在线观看 | 亚洲国产精品99久久久久久久久 | 国产偷录叫床高潮录音 | 日韩快播电影 | 不用播放器看的av | 99精品久久久久久中文字幕 | 欧美国产91 | 91亚洲国产成人久久精品网站 | 欧美日韩视频在线 | 欧美性久久 | 国产一区亚洲二区三区 | 在线观看中文字幕 | 久久av网 | 欧美精品一区在线发布 | 国产亚洲精品一区二区三区 | 午夜影院视频 | 国产精品久久久久久婷婷天堂 | 日韩精品久久 | 欧美日韩国产精品一区 | 日韩2020狼一二三 | www.夜夜骑 | www网站在线观看 | 九九天堂网| 中文字幕一区二区三区在线乱码 | 国产91在线播放 | 国产视频二区 | 91久久精品一区二区二区 | 精品国产一区探花在线观看 | 国产a区 | 国产精品日韩欧美一区二区三区 |