当前位置: 首页 > news >正文

深圳门窗在哪里网站做推广整站优化要多少钱

深圳门窗在哪里网站做推广,整站优化要多少钱,河北石家庄最新新闻,做网站规划线程池继承体系 Executor(interface)->ExecutorService(interface)->ThreadPoolExecutor(class) Executors.newFixedThreadPool 核心线程数最大线程数(没有救急线程被创建),所以也无需超时时间阻塞队列LinkedBlockingQueue,可以放任意…

线程池继承体系

Executor(interface)->ExecutorService(interface)->ThreadPoolExecutor(class)

Executors.newFixedThreadPool

 核心线程数=最大线程数(没有救急线程被创建),所以也无需超时时间阻塞队列LinkedBlockingQueue,可以放任意数量的任务,队列容量=Integer.MAX_VALUE适用于:任务量已知,相对耗时的任务

 public static void main(String[] args) {ExecutorService executorService = Executors.newFixedThreadPool(2);executorService.execute(() -> {log.debug("1");});executorService.execute(() -> {log.debug("2");});executorService.execute(() -> {log.debug("3");});}

ThreadFactory自定义线程名称

 public static void main(String[] args) {ExecutorService executorService = Executors.newFixedThreadPool(2,new ThreadFactory() {private final AtomicInteger threadNumber = new AtomicInteger(1);private final String namePrefix = "xkj_";@Overridepublic Thread newThread(Runnable r) {Thread t = new Thread(r,namePrefix + threadNumber.getAndIncrement());return t;}});executorService.execute(() -> {log.debug("1");});executorService.execute(() -> {log.debug("2");});executorService.execute(() -> {log.debug("3");});}

 

Executors.newCachedThreadPool()

 没有核心线程,全是救急线程,线程存活时间是1分钟,救急线程可以无限创建Integer.MAX_VALUE。

SynchronousQueue 同步队列,特点是,没有容量,没有线程来取是放不进去的(一手交钱,一手交货)

ExecutorService executorService = Executors.newCachedThreadPool();executorService.execute(() -> {log.debug("111");});executorService.execute(() -> {log.debug("222");});executorService.execute(() -> {log.debug("333");});

SynchronousQueue同步队列

一手交钱一手交货,没有线程来取任务,就无法添加新任务。

SynchronousQueue<Integer> synchronousQueue = new SynchronousQueue<>();new Thread(() -> {try {log.debug("putting{}", 1);synchronousQueue.put(1);//会阻塞住log.debug("putted{}", 1);log.debug("putting{}", 2);synchronousQueue.put(2);//会阻塞住log.debug("putted{}", 2);} catch (InterruptedException e) {e.printStackTrace();}}, "t1").start();new Thread(() -> {try {Integer take = synchronousQueue.take();//取出元素会让put方法后面继续执行,不再阻塞log.debug("take:{}", take);}catch (InterruptedException e) {e.printStackTrace();}}, "t2").start();

适用于:任务数比较密集,但每个任务执行时间较短的情况。

Executors.newSingleThreadExecutor

希望多个任务排队执行,线程数固定为1。

任务数多于1时,会放入无界队列排队。

任务执行完毕,这唯一的线程也不会被释放。

跟自定义创建一个单线程串行执行任务的区别:

如果任务执行失败而终止没有任何补救措施,而线程池还会新建一个线程,保证池的正常工作。

FinalizableDelegatedExecutorService应用的是装饰器模式,只是对外暴露了ExecutorService接口,因此不能调用ThreadPoolExecutor中特有的方法。

Executors.newFixedThreadPool(1)初始时为1,以后还可以修改。对外暴露的是ThreadPoolExecutor对象,可以强转后调用setCorePoolSize等方法进行修改。

 ExecutorService executorService = Executors.newSingleThreadExecutor();executorService.execute(() -> {log.debug("aaa");int i = 1 / 0;});executorService.execute(() -> {log.debug("bbb");});executorService.execute(() -> {log.debug("ccc");});

http://www.fp688.cn/news/161005.html

相关文章:

  • 网站被模仿如何维权torrentkitty磁力猫引擎
  • 成都新线加做网站郑州做网站公司排名
  • asp 动态网站开发域名注册腾讯云
  • 东莞网站建设及外包国外市场网站推广公司
  • 怎么看一个网站是用什么程序做的如何介绍自己设计的网页
  • 允许发外链的网站最近一周的新闻大事10条
  • p2p做网站seo搜索引擎优化怎么做
  • h5做的公司网站国外引擎搜索
  • 做课件网站专门看网站的浏览器
  • 招生网站模板google广告投放技巧
  • 高密做网站哪家强价位抖音账号权重查询入口
  • 云服务器最便宜绍兴百度seo排名
  • 室内设计网课站长工具seo综合查询权重
  • 网站怎样推广 优帮云惠州网站营销推广
  • 陕西网站建设美化个人网站首页设计
  • 本网站正在建设图片给大家科普一下b站推广网站
  • 武冈网站建设能去百度上班意味着什么
  • 网站安全维护包括什么性价比高seo的排名优化
  • 兰州最好的网站开发公司开发新客户的十大渠道
  • 深圳市做网站的公司软文发布平台与板块
  • 做英文网站需要多少灰色产业推广引流渠道
  • 企业网站建设一条在线网站分析工具
  • 旅行社门店做网站嘛百度信息流推广和搜索推广
  • 网站域名后缀代表什么意思四川网站制作
  • 眉山建设中等职业技术学校 网站推广策略都有哪些
  • 网络网页设计师郑州seo顾问
  • 做网站用什么云服务器吗促销活动推广语言
  • 什么公司在百度做网站网络推广渠道
  • 制作企业网站公司排名抖音seo源码搭建
  • 代做网站毕业设计长沙企业关键词优化