91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JDK線程池和Spring線程池的使用實例介紹

發布時間:2021-08-21 20:12:39 來源:億速云 閱讀:101 作者:chen 欄目:編程語言

本篇內容主要講解“JDK線程池和Spring線程池的使用實例介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JDK線程池和Spring線程池的使用實例介紹”吧!

JDK線程池和Spring線程池實例,異步調用,可以直接使用

(1)JDK線程池的使用,此處采用單例的方式提供,見示例:

public class ThreadPoolUtil {private static int corePoolSize = 5;private static int maximumPoolSize = 10;private static long keepAliveTime = 60L;private static TimeUnit unit = TimeUnit.SECONDS;private static int capacity = 1024;private static ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("jdk-thread-pool-%d").build();private static final ExecutorService executorService = new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,unit,new LinkedBlockingQueue<>(capacity),namedThreadFactory,new ThreadPoolExecutor.AbortPolicy());private ThreadPoolUtil () {}public static ExecutorService getExecutorService () {return executorService;}}

在其它地方可以直接這樣使用:

ThreadPoolUtil.getExecutorService().execute(() -> {System.out.println("test1");System.out.println("test2");})

(2)Spring線程池的使用,此處通過配置類的方式配置線程池的相關屬性,見示例:

@Configuration@EnableAsyncpublic class DocataThreadBeanConfig {private int corePoolSize = 5;private int maxPoolSize = 10;private int queueCapacity = 1024;private String namePrefix = "async-service-task-";// 上述屬性可以通過@Value來讀取配置值@Bean(name = "asyncServiceTaskExecutor")public TaskExecutor asyncServiceExecutor() {ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();// 設置核心線程數executor.setCorePoolSize(corePoolSize);// 設置最大線程數executor.setMaxPoolSize(maxPoolSize);// 設置隊列容量executor.setQueueCapacity(queueCapacity);// 設置線程活躍時間(秒)executor.setKeepAliveSeconds(60);// 設置默認線程名稱executor.setThreadNamePrefix(namePrefix);// 設置拒絕策略executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());// 等待所有任務結束后再關閉線程池executor.setWaitForTasksToCompleteOnShutdown(true);executor.initialize();;return executor;}}

在其它文件中需要這樣使用:

@Resource(name="asyncServiceTaskExecutor")private ThreadPoolTaskExecutor asyncServiceTaskExecutor;

不要直接使用@Autowired,否則會提示失敗的

@Autowiredprivate ThreadPoolTaskExecutor asyncServiceTaskExecutor;

到此,相信大家對“JDK線程池和Spring線程池的使用實例介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巩留县| 蒙自县| 富顺县| 石楼县| 大埔县| 霍城县| 伊宁县| 永和县| 林甸县| 福海县| 岳池县| 蒙山县| 抚松县| 曲阜市| 泌阳县| 务川| 福建省| 久治县| 莲花县| 哈密市| 武义县| 宣汉县| 南涧| 芜湖县| 连州市| 孟村| 开原市| 阿拉善左旗| 义马市| 扶沟县| 大新县| 广昌县| 双牌县| 铜陵市| 长治市| 新竹县| 西吉县| 兴山县| 根河市| 工布江达县| 思南县|