成人免费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線程多線程

2013-06-08 13:07:23

Java線程池調度器

2013-05-23 15:59:00

線程池

2023-06-07 13:49:00

多線程編程C#

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多線程

2024-11-27 08:15:50

2021-06-06 23:40:53

線程池使用場景

2009-06-29 18:08:51

Java多線程join方法

2013-06-13 13:19:38

多線程

2024-01-15 10:55:40

Python多線程開發

2009-06-29 18:00:05

Java多線程Runnable接口創建線程

2024-06-04 07:52:04

2009-09-22 17:21:24

線程局部變量

2009-06-29 18:03:15

Java多線程線程的生命周期

2015-03-24 16:29:55

默認線程池java

2015-08-20 09:17:36

Java線程池
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久精品一区 | 国产成人99久久亚洲综合精品 | 午夜久久久久久久久久一区二区 | 日韩在线不卡 | 成人国产在线视频 | 黄色永久免费 | 亚洲欧美v | 涩色视频在线观看 | 精品视频免费在线 | 日韩三| 在线日韩 | 成人综合伊人 | 天堂中文资源在线 | 一区二区在线看 | 欧美日韩综合精品 | 少妇黄色| 欧美一级免费片 | 在线观看av免费 | 国产情品| 91原创视频| 狠狠色综合久久丁香婷婷 | 免费一区二区三区 | 久久伊人影院 | 亚洲精品在线免费播放 | 精品欧美乱码久久久久久1区2区 | 日韩在线| 亚洲高清免费 | 一级黄色片在线免费观看 | 亚洲欧美激情精品一区二区 | 中文亚洲视频 | 欧美日韩精品免费 | 午夜精品一区二区三区在线观看 | 国产精品久久二区 | 精品国产91| 男人天堂网av | 欧美激情综合色综合啪啪五月 | 九九久久精品视频 | 中文字幕91av| 亚洲一区二区三区免费视频 | 日本a∨视频 | 亚洲一区二区综合 |