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

景德镇陶瓷学院校友做网站的江门网页制作公司

景德镇陶瓷学院校友做网站的,江门网页制作公司,企业网站开源,艺术培训网站模板ExecutorService功能是Java 5附带的。它扩展了Executor接口#xff0c;并提供了线程池功能来执行异步简短任务。 使用Java 6提供的ExecutorService接口有五种异步执行任务的方法。 ExecutorService execService Executors.newCachedThreadPool#xff08;#xff09;; 这… ExecutorService功能是Java 5附带的。它扩展了Executor接口并提供了线程池功能来执行异步简短任务。 使用Java 6提供的ExecutorService接口有五种异步执行任务的方法。 ExecutorService execService Executors.newCachedThreadPool; 这种方法的方法将创建一个线程池该线程池会根据需要创建新线程但是在可用之前会重用以前构造的线程。 这些池通常将提高执行许多短期异步任务的程序的性能。 如果没有可用的现有线程则将创建一个新线程并将其添加到池中。 60秒钟未使用的线程将终止并从缓存中删除。 ExecutorService execService Executors.newFixedThreadPool10; 这种方法的方法创建了一个线程池该线程池可重用固定数量的线程。 创建的nThreads将在运行时处于活动状态。 如果在所有线程都处于活动状态时提交了其他任务则它们将在队列中等待直到某个线程可用为止。 ExecutorService execService Executors.newSingleThreadExecutor; 这种方法的方法将创建一个执行器该执行器使用在无限制队列上运行的单个工作线程。 确保任务按顺序执行并且在任何给定时间都不会激活一项以上的任务。 ExecutorService的方法 executeRunnable在将来的某个时间执行给定命令。 SubmitRunnable Submit方法返回一个表示执行任务的Future对象。 如果任务正确完成则Future Object返回null。 shutdown启动有序关闭在该关闭中执行先前提交的任务但不接受任何新任务。 如果已关闭则调用不会产生任何其他影响。 shutdownNow尝试停止所有正在执行的任务暂停正在等待的任务的处理并返回正在等待执行的任务的列表。 除了尽最大努力尝试停止处理正在执行的任务之外没有任何保证。 例如典型的实现将通过Thread.interrupt取消因此任何无法响应中断的任务都可能永远不会终止。 下面是一个示例应用程序 步骤1建立已完成的专案 创建一个Maven项目如下所示。 可以使用Maven或IDE插件来创建它。 第2步创建新任务 通过实现如下所示的Runnable接口创建线程来创建新任务。 TestTask类指定将要执行的业务逻辑。 package com.otv.task;import org.apache.log4j.Logger;/*** author onlinetechvision.com* since 24 Sept 2011* version 1.0.0**/ public class TestTask implements Runnable {private static Logger log Logger.getLogger(TestTask.class);private String taskName;public TestTask(String taskName) {this.taskName taskName;}public void run() {try {log.debug(this.taskName is sleeping...);Thread.sleep(3000);log.debug(this.taskName is running...);} catch (InterruptedException e) {e.printStackTrace();}}public String getTaskName() {return taskName;}public void setTaskName(String taskName) {this.taskName taskName;}} 步骤3使用newCachedThreadPool创建TestExecutorService 通过使用方法newCachedThreadPool创建TestExecutorService。 在这种情况下将在运行时指定创建的线程数。 package com.otv;import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;import com.otv.task.TestTask;/*** author onlinetechvision.com* since 24 Sept 2011* version 1.0.0**/ public class TestExecutorService {public static void main(String[] args) {ExecutorService execService Executors.newCachedThreadPool();execService.execute(new TestTask(FirstTestTask));execService.execute(new TestTask(SecondTestTask));execService.execute(new TestTask(ThirdTestTask));execService.shutdown();} } 运行TestExecutorService时输出将如下所示 24.09.2011 17:30:47 DEBUG (TestTask.java:21) - SecondTestTask is sleeping... 24.09.2011 17:30:47 DEBUG (TestTask.java:21) - ThirdTestTask is sleeping... 24.09.2011 17:30:47 DEBUG (TestTask.java:21) - FirstTestTask is sleeping... 24.09.2011 17:30:50 DEBUG (TestTask.java:23) - ThirdTestTask is running... 24.09.2011 17:30:50 DEBUG (TestTask.java:23) - FirstTestTask is running... 24.09.2011 17:30:50 DEBUG (TestTask.java:23) - SecondTestTask is running... 步骤4使用newFixedThreadPool创建TestExecutorService 通过使用方法newFixedThreadPool创建TestExecutorService。 在这种情况下将在运行时指定创建的线程数。 package com.otv;import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;import com.otv.task.TestTask;/*** author onlinetechvision.com* since 24 Sept 2011* version 1.0.0**/ public class TestExecutorService {public static void main(String[] args) {ExecutorService execService Executors.newFixedThreadPool(2);execService.execute(new TestTask(FirstTestTask));execService.execute(new TestTask(SecondTestTask));execService.execute(new TestTask(ThirdTestTask));execService.shutdown();} } 运行TestExecutorService时在完成FirstTestTask和SecondTestTask的执行之后将执行ThirdTestTask。 输出将被视为 下面 24.09.2011 17:33:38 DEBUG (TestTask.java:21) - FirstTestTask is sleeping... 24.09.2011 17:33:38 DEBUG (TestTask.java:21) - SecondTestTask is sleeping... 24.09.2011 17:33:41 DEBUG (TestTask.java:23) - FirstTestTask is running... 24.09.2011 17:33:41 DEBUG (TestTask.java:23) - SecondTestTask is running... 24.09.2011 17:33:41 DEBUG (TestTask.java:21) - ThirdTestTask is sleeping... 24.09.2011 17:33:44 DEBUG (TestTask.java:23) - ThirdTestTask is running... 步骤5使用newSingleThreadExecutor创建TestExecutorService 通过使用方法newSingleThreadExecutor创建TestExecutorService。 在这种情况下仅创建一个线程并按顺序执行任务。 package com.otv;import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;import com.otv.task.TestTask;/*** author onlinetechvision.com* since 24 Sept 2011* version 1.0.0**/ public class TestExecutorService {public static void main(String[] args) {ExecutorService execService Executors.newSingleThreadExecutor();execService.execute(new TestTask(FirstTestTask));execService.execute(new TestTask(SecondTestTask));execService.execute(new TestTask(ThirdTestTask));execService.shutdown();} } 当运行TestExecutorService时FirstTestTask的执行完成后将执行SecondTestTask和ThirdTestTask。 输出将如下所示 24.09.2011 17:38:21 DEBUG (TestTask.java:21) - FirstTestTask is sleeping... 24.09.2011 17:38:24 DEBUG (TestTask.java:23) - FirstTestTask is running... 24.09.2011 17:38:24 DEBUG (TestTask.java:21) - SecondTestTask is sleeping... 24.09.2011 17:38:27 DEBUG (TestTask.java:23) - SecondTestTask is running... 24.09.2011 17:38:27 DEBUG (TestTask.java:21) - ThirdTestTask is sleeping... 24.09.2011 17:38:30 DEBUG (TestTask.java:23) - ThirdTestTask is running... 步骤6参考资料 http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ExecutorService.html http://tutorials.jenkov.com/java-util-concurrent/executorservice.html 参考 Online Technology Vision博客中来自我们JCG合作伙伴 Eren Avsarogullari的Java Executor服务类型 。 翻译自: https://www.javacodegeeks.com/2012/08/java-executor-service-types.html
http://www.pierceye.com/news/552673/

相关文章:

  • 漯河网站建设e辽宁身营商环境建设局网站
  • 营销网站建设套餐企业信息公示管理系统
  • 网站布局设计排版网站外部链接做多少合适呢
  • 成品网站 源码1688上海网站建设 找德华专业
  • 网站建设费用申报佛山电脑培训班哪里有
  • 免费网站服务器厦门网站建设推广哪家好
  • 青海海东平安县建设局网站如何建设旅游网站
  • 成都响应式网站开发百度里面的站长工具怎么取消
  • 手机购物网站设计广告设计有限公司
  • 新手制作网站wordpress lamp 教程
  • 响应式的网站做优化好吗wordpress删掉自豪
  • 做网站第一步创建网站根目录
  • vs2010做网站前台专门做试题的网站
  • 柳州集团学校网站建设做美食推广的网站
  • 网站开发 发送邮件功能深圳做分销商城网站
  • 网站备案 取消网上智慧团建官网入口
  • 网站开发 无代码app 外包开发公司
  • 做网站应该用什么配置的手提电脑免费微商城小程序模板
  • 义乌外贸网站建设公司服务外包和劳务外包区别
  • 四川长昕建设工程有限公司网站兰州网站哪里做
  • 电子商务网站规划与管理申请一个域名后怎么做网站
  • 中小企业网站制作方法桂林景区网站策划
  • shopify做全品类网站提交链接
  • 网站建设和运营哪家公司好宠物医疗设计素材网站
  • 泰州网站制作公司中国空间站机械臂
  • 信誉好的常州网站建设网监备案网站更换域名
  • 淮南品牌网站建设电话南昌网站建设q479185700棒
  • 富阳区住房和城乡建设局网站广州市住房保障和房屋管理局
  • 江门建设局网站上海住房和城乡建设部网站
  • 开一个网站需要什么建设商务网站的方案