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

山西响应式网站平台amp for wordpress

山西响应式网站平台,amp for wordpress,f2c网站建设,深圳市城乡和建设局网站首页从Java的第一个发行版开始#xff0c;Java的美丽之处之一就是我们可以轻松编写多线程程序并将异步处理引入我们的设计中。 Thread类和Runnable接口与Java的内存管理模型结合使用#xff0c;意味着可以进行简单的线程编程。 但是#xff0c;如第3部分所述#xff0c; Thread… 从Java的第一个发行版开始Java的美丽之处之一就是我们可以轻松编写多线程程序并将异步处理引入我们的设计中。 Thread类和Runnable接口与Java的内存管理模型结合使用意味着可以进行简单的线程编程。 但是如第3部分所述 Thread类和Runnable接口均不允许抛出Exception或返回值。 缺乏返回值的问题令人不快。 缺少引发检查异常的情况更为严重。 合同是public void run 这意味着您必须捕获受检查的异常并对其进行处理。 即使您很小心并且将它们存储起来以供以后验证也不能强制所有使用此类的类来检查异常。 您可以遍历所有的获取器并在每个异常中都存在异常时抛出该异常 。 除了麻烦之外即使那也不是万无一失的。 您无法强制调用其中任何一个。 线程程序员会正确地调用join以等待它完成然后可能会继续前进。 不过不用担心多年之后终于在1.5版本中解决了这个问题。 通过在上一篇文章中讨论的Callable和Future接口的引入以及它们在线程池中的支持这两个问题都得到了很好的解决。 可召回 Callable接口声明公共T call抛出Exception 。 现在我们可以返回结果将其强类型化为实现中声明的类型甚至抛出Exceptions 。 尽管Executors类中有一些实用程序方法可以如第3部分中所述转换您的Runnable实例但最好还是回顾一下您当前对Runnable或Thread子类的实现。 何必呢 主要是为了仔细检查并删除可能为解决缺少对抛出的异常的支持而实施的变通方法。 同时您可能希望利用在执行方法中直接返回结果的功能而无需进行强制转换以检索值。 未来 这是线程池和Callable的组合功能在一起的地方。 Future是1.5中引入的另一个新接口。 当您向一个线程池提交Callable时 将为您提供Future的实例该实例的类型将传递给您传入的Callable 。此对象替代您在1.5之前使用的实际Thread实例。 以前您必须执行Thread.join或Thread.joinlong millis 现在您可以像本例中那样使用它们。 public class ServerAcceptingRequestsVerifier implements Callable {/*** return Boolean.TRUE is server is accepting requests* Boolean.FALSE otherwise*/public Boolean call() throws Exception {Boolean isAcceptingRequests null;... ask server about taking requests herereturn isAcceptingRequests;} } public Boolean isServerTakingRequests(String server)throws UnresponsiveException, InterruptedException {ServerAcceptingRequestsVerifier acceptingRequestsVerifier new ServerAcceptingRequestsVerifier();Future future THREAD_POOL.submit(acceptingRequestsVerifier);try {Boolean isAcceptingRequests future.get();//waits for the thread to complete, even if it hasnt startedreturn isAcceptingRequests;} catch (ExecutionException e) {throw new UnresponsiveException(e.getCause());}} 如果决定限制愿意等待完成的时间那么现在有了显式的TimeoutException也很好。 try {Boolean isAcceptingRequests future.get(5, TimeUnit.SECONDS);//this waits for 5 seconds, throwing TimeoutException if not donereturn isAcceptingRequests; } catch (TimeoutException e) {LOGGER.warn(Timed out waiting for server check thread. Well try to interrupt it.);future.cancel(true);return Boolean.FALSE; } catch (ExecutionException e) {throw new UnresponsiveException(e.getCause()); } 在我们的下一篇文章中我们将介绍一些用于使线程池正常工作的新接口/类这些接口/类也可供我们使用。 参考我们的JCG合作伙伴在Carfey Software博客上提供的 Java Concurrency Part 4 – CallableFuture 。 相关文章 Java并发教程–信号量 Java并发教程–重入锁 Java并发教程–线程池 Java并发教程–阻塞队列 Java并发教程– CountDownLatch Exchanger和无GC的Java Java Fork / Join进行并行编程 使用迭代器时如何避免ConcurrentModificationException 改善Java应用程序性能的快速技巧 翻译自: https://www.javacodegeeks.com/2011/09/java-concurrency-tutorial-callable.html
http://www.sadfv.cn/news/52731/

相关文章:

  • 张家港高端网站建设公司江苏省住房城乡建设部网站
  • 专业网站建设公司兴田德润优惠吗wordpress版权怎
  • 什么叫网站名称济南做网站优化的公司
  • 专业建设网站的公司网页前端设计师培训学校
  • 手机网站打不开是什么原因造成的大庆做流产油城女子网站
  • 长城宽带做网站购买一个网站需要多少钱?
  • 网站链接做投票学校网站建设责任书
  • 合肥企业建网站制作一个学校门户网站
  • 各地网站备案网站连接跳转怎么做
  • 网站开发介绍人拿多少钱宁波专业公司网页设计
  • 高校网络网站建设意义及措施上海招聘网站建设
  • 网站建设跟网站结构php语言的网站建设
  • 怎样理解网站建设与开发这门课鄂州门户网
  • 网站模板素材门户网站建设的意义
  • 东莞网站优化seo西安网站维护公司
  • 公司网站建设制作难么网站建设是什么语言
  • 团购网站平台建设用dw软件做网站栅格系统
  • 网站开发技术视频教程郑州最新消息今天
  • 品牌管理公司网站建设哪些网站有友情链接
  • 网站建设模拟网络工程有限公司
  • php asp网站开发教程信阳百度推广公司电话
  • c#网站开发+pdf3d效果图怎么制作用什么软件
  • 邢台无忧网站建设公司网站集约化建设汇报
  • 网站建设大概好多钱网页版word在线编辑
  • 网站那种推广链接怎么做app网站多少钱
  • 做的网站怎样评估价值h5生成小程序
  • 凡客网登录太原网站快速排名优化
  • 手工制作会动的玩具网站如何免费做SEO优化
  • 网站开发 例子推荐seo关键词优化
  • 制作报价网站黑白网站模板