悲观读(写的机会很少) package com.dwz.stampedLock; import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.concurrent.Exe ...
分类:
其他好文 时间:
2020-07-29 14:37:06
阅读次数:
58
实现Callable接口(了解即可) 实现Callable接口,需要返回值类型 重写call方法,需要抛出异常 创建目标对象 创建执行服务:ExecutorService ser = Executors.newFixedThreadPool(1); 提交执行:Future result1 = ser ...
分类:
其他好文 时间:
2020-07-15 16:04:16
阅读次数:
124
//线程池创建,线程池提交任务使用Callable int corePoolSize = 3; int maximumPoolSize = Runtime.getRuntime().availableProcessors() * 2; BlockingQueue<Runnable> queue = ...
分类:
编程语言 时间:
2020-07-14 16:20:51
阅读次数:
63
种类 Executors.newCachedThreadPool ?定义:无界线程池,可自动回收 ?缺点:涌入大量任务时会大量创建线程 Executors.newFixedThreadPool ?定义:线程池中的线程数固定大小,超出的线程会在队列中等待 ?缺点:任务数量过大效率不高 Executor ...
分类:
编程语言 时间:
2020-07-13 18:42:05
阅读次数:
76
1、定制线程池的大小 1.1、线程池的合理大小 取决于 未来提交的任务类型 和 所部署的系统特征; 2、配置ThreadPoolExecutor 2.1、ThreadPoolExecutor 提供了 一些基本的Executor的实现: (由 工具类Executors 提供的newCachedThre ...
分类:
编程语言 时间:
2020-07-10 11:40:50
阅读次数:
82
1.Executors 提供四种线程池 1.1创建固定线程数目的线程池 创建使用固定线程数的FixedThreadPool,适用于为了满足资源管理的需求,而需要限制当前线程数量的应用场景,它适用于负载比较重的服务器。 public static ExecutorService newFixedThr ...
分类:
编程语言 时间:
2020-07-10 00:14:32
阅读次数:
77
1、使用主机安装查看runner配置 $ cat /etc/gitlab-runner/config.toml [session_server](区段是一个系统 Runner 级别的配置,因此它应该在根级别指定,而不是在每个执行器上,也就是说,它应该在[[runners]]区段之外。会话服务器允许用 ...
分类:
其他好文 时间:
2020-07-09 00:52:34
阅读次数:
56
原因 在项目启动的时候在 resource目录下没有加载到配置信息 我的项目中,有两个配置文件位于 src/main/java 目录下,而项目默认的加载配置文件的目录是 src/main/resource,因而找不到配置文件。 解决办法 在 pom.xml 中,将 src/main/java 添加为 ...
分类:
移动开发 时间:
2020-06-30 14:48:09
阅读次数:
583
8.1介绍 线程池里面的线程是可以复用的 大量异步任务是线程池表现良好的性能 线程池提供了一种资源限制和管理的手段 线程池提供了许多可调参数和可扩展接口, 但是可以使用更加方便的Executors的工厂方法创建线程,不建议 8.2类图分析 Executors是一个工具类,提供了好多静态方法 线程池状 ...
分类:
编程语言 时间:
2020-06-28 22:25:00
阅读次数:
68
如下代码,在 main 线程中,是无法捕获子线程的异常的。 catch 子句中的代码不会被执行。 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Naiv ...
分类:
编程语言 时间:
2020-06-27 00:01:46
阅读次数:
67