91名师指路-头部
首页
发布需求
项目流程图
客服QQ
登录
注册
付费问答
付费问答
技术博客
源码买卖
付费问答
技术博客
源码买卖
资料下载
日程管理
91小程序
让能力变成价值! 不止写博客能赚钱,上传源码也能赚钱。例如:您写了一篇博客,当网友遇到问题咨询您时会向你支付咨询费,并且下载您上传的源码也会向您支付对应的费用。
博客列表-91名师指路91mszl.com-让能力变成价值
博客分类
前端
jquery
Nodejs
vue
Angular
Html5
bootstrap
其他
后端
java
C#
Python
Php
C++
Ruby
Go
Erlang
其他
移动开发
ios
Android
微信支付
微信小程序
支付宝支付
银联支付
Windows Phone
其他
数据库
Oracle
Sqlserver
Db2
Mysql
MongoDB
Postgresql
其他
测试
loadrunner
jmeter
其他
运维
jenkins
svn
Git
sonarqube
Nginx
Cdn
jdk
Maven
Windows系统
Linux系统
其他
工作流
Activiti
jbpm
其他
搜索引擎
solr
lucene
ElasticSearch
其他
缓存
Redis
memCache
其他
消息队列
ActiveMQ
RabbitMQ
ZeroMQ
Kafka
MetaMQ
RocketMQ
写博客
博客管理
原
线程池配置合理的线程数(七)
线程池的线程数配置,主要看服务器是属于以下哪种类型:(1)CPU密集型。(2)IO密集型。一:CPU密集型算法:(1)名称解释:CPU密集型的意思是该任务需要大量的运算,而没有阻塞,CPU一直全速运行。CPU密集任务只有在真正多核CPU上才可能得到加速(通过多线程),而在单核CPU上,无论你开几个模拟的多线程该任务都不可能得到加速,因为CPU总的运算能力就那些。(2)计算方法:CPU密集型任务配置
2019-12-04 10:12:45 阅读(1182)
原
手写线程池(六)
题外话:在面试的时候,如果面试官问你:你在工作中单一的/固定数的/可变你的三种创建线程池的方法,你用哪个多?答:一个都不用,我们都是自己手写的。因为阿里巴巴开发手册里面明确的提到: 线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式。一:手写一个线程池采用AbortPolicy拒绝策略的代码如下:package com.mszl.thread
2019-12-03 18:11:40 阅读(1110)
原
线程池的四种拒绝策略(五)
线程池的四种拒绝策略:(1)AbortPolicy(默认):直接抛出RejectedException异常阻止系统正常运行。(2)CallerRunPolicy:“调用者运行”一种调节机制,该策略既不会抛弃任务,也不会抛出异常,而是将某些任务回退到调用者,从而降低新任务的流量。(3)DiscardOldestPolicy:抛弃队列中等待最久的任务,然后把当前任务加入队列中尝试再次提交当前任务。(4
2019-12-03 15:51:55 阅读(967)
原
线程池的工作原理(四)
一:ThreadPoolExecutor的execute方法的执行示意图:二:线程池的主要处理流程总结:(1)在创建线程池后,等待提交过来的任务请求。(2)当调用execute()方法添加一个请求任务是,线程池会做如下判断: (2.1)如果正在运行的线程数量小于corePoolSize,那么马上创建线程运行这个任务。 &
2019-12-03 15:37:55 阅读(1002)
原
线程池中的七大参数(三)
线程池中的七大参数如下:(1)corePoolSize:线程池中的常驻核心线程数。(2)maximumPoolSize:线程池能够容纳同时执行的最大线程数,此值大于等于1。(3)keepAliveTime:多余的空闲线程存活时间,当空间时间达到keepAliveTime值时,多余的线程会被销毁直到只剩下corePoolSize个线程为止。(4)unit:keepAliveTime的单位。(5)wo
2019-12-03 14:17:59 阅读(1537)
原
线程池的三种常用方式(二)
线程池的三种常用方式:(1)Executors.newFixedThreadPool(int)。执行一个长期的任务,性能好很多。(2)Executors.newSingleThreadExecutor()。一个任务一个线程执行的任务场景。(3)Executors.newCachedThreadPool()。适用:执行很多短期异步的小程序或者负载较轻的服务器。一:newFixedThreadPool
2019-12-03 12:26:17 阅读(1321)
原
线程池的介绍和优势(一)
线程池介绍:线程池做的工作主要是控制运行的线程的数量,处理过程中将任务加入队列,然后在线程创建后启动这些任务,如果线程超过了最大数量,超出的数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行。 线程池的主要特点:线程复用,控制最大并发数,管理线程。(1)降低资源消耗,通过重复利用自己创建的线程降低线程创建和销毁造成的消耗。(2)提高响应速度,当任务到达时,任务可以不需要等到
2019-12-03 11:33:37 阅读(958)
原
Callable的使用
概述:在创建线程时,Thread t=new Thread(); 里面穿的是Runnable,但是juc包下面并没有直接的接口,那么又一个类同时实现了Callable和Runnable,那就是FutureTask代码如下:package com.mszl.thread;import java.util.concurrent.Callable;import java.util.concurrent.
2019-12-03 11:09:05 阅读(1151)
原
阻塞队列 BlockingQueue复习
题目:一个线程生产,一个线程消费。5秒钟后停止。代码如下:package com.mszl.thread;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.TimeUnit;import java.util.conc
2019-12-02 18:12:23 阅读(998)
原
lock绑定多条件Condition
题目:多线程之间按顺序调用,实现A->B->C三个线程启动,要求A打印5次,B打印10次,C打印15次,ABC都循环10次代码如下:package com.mszl.thread;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.conc
2019-12-02 14:30:49 阅读(1285)
共 476 行数据
首页
上一页
31
32
33
34
35
36
37
38
下一页
尾页
到第
页
确定
91名师指路-底部