现在出去面试,多线程以及并发变成已经成为了必问的问题。 今天就来总结下多线程在项目中的应用以及线程池的使用。
多线程的使用: 比如在庞大的项目中,一个请求中,可能要调用N 多个服务, 比如调用积分服务,订单服务,地址服务,库存服务或者一些其他公司的服务等, 次调用过程中如果每个服务都用掉500ms,那么整体的时长就是n*500,。so,这个时间是无法忍受的, 所以就要使用多线程来干这个事情了。 为了提高线程的使用率,避免造成性能的浪费, 所以这里就要用到哦线程池了,
这里来说说线程池:众所周知,线程池就是来管理线程的容器。一般的面试这就会说:newCachedThreadPool,newFixedThreadPool,newSingleThreadExecutor
newScheduleThreadPool四种线程池, 然后再分别说下这些个线程池的意义。 骨灰级的玩家就会说: 线程池核心的东西就是一个ThreadPoolExecutor类,然后ThreadPoolExecutor 里面有四个构造函数,
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue) {
this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
Executors.defaultThreadFactory(),
说说线程池在项目中的运用以及自己的理解
最新推荐文章于 2024-03-10 11:52:57 发布