小星星Zxx000000 2016-03-30 02:38 采纳率: 0%
浏览 1367

Executor的执行方式?

我通过实现runable接口后定义任务后,把任务交给了Executor的实现类后,有她
帮我管理线程执行,Executor 她是把我的任务是同步执行还是异步的去执行?

  • 写回答

1条回答

  • 毕小宝 博客专家认证 2016-04-04 10:05
    关注

    首先,同步异步是处理请求的方式,是否立即返回处理结果告知调用者,这里不存在同步异步执行任务的概念。
    其次,Executor是java并发包中提供的一个创建线程池的工具类,而线程池分为多种,有单线程执行任务的,也有多线程执行任务的。
    例如:

     Executors.newCachedThreadPool()创建的是多线程,那么线程池中缓存了N个线程去执行任务,那么你的任务就是有多个线程并行执行的。同时可以有多个任务被执行。
     Executors.newSingleThreadExecutor()这个就是创建的是但线程,即线程池中只有一个线程池去执行你提交的任务,那么认为执行就是顺序执行的,即只能一个接一个执行。
    

    线程池的作用就是缓存线程,有线程去执行任务,各个任务之间是独立并行执行的。当然newSingleThreadExecutor这个就退化成单线程了。

    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值