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

网站访问量有什么用网站标题怎么设置

网站访问量有什么用,网站标题怎么设置,科技局网站查新怎么做,阿里云服务器做盗版视频网站在此#xff0c;我开始撰写一系列有关编程语言中的未来概念#xff08;也称为promise或delays #xff09;的文章#xff0c;标题为#xff1a; Back to the Future 。 由于对异步#xff0c;事件驱动#xff0c;并行和可伸缩系统的需求不断增长#xff0c;所以期货是非… 在此我开始撰写一系列有关编程语言中的未来概念也称为promise或delays 的文章标题为 Back to the Future 。 由于对异步事件驱动并行和可伸缩系统的需求不断增长所以期货是非常重要的抽象如今比以往任何时候都更加重要。 在第一篇文章中我们将发现最基本的java.util.concurrent.FutureT接口。 稍后我们将跳入其他框架库甚至语言。 FutureT是相当有限的但必须了解ekhm将来部分。 在单线程应用程序中当您调用方法时它仅在计算完成IOUtils.toString()返回 IOUtils.toString()来自Apache Commons IO public String downloadContents(URL url) throws IOException {try(InputStream input url.openStream()) {return IOUtils.toString(input, StandardCharsets.UTF_8);} }//...final String contents downloadContents(new URL(http://www.example.com)); downloadContents()看起来是无害的1 但它甚至可能需要花费很长时间才能完成。 此外为了减少延迟您可能希望在等待结果的同时进行其他独立的处理。 在过去您将启动一个新Thread并以某种方式等待结果共享内存锁可怕的wait() / notify()对等使用FutureT会更加愉快 public static FutureString startDownloading(URL url) {//... }final FutureString contentsFuture startDownloading(new URL(http://www.example.com)); //other computation final String contents contentsFuture.get(); 我们将很快实现startDownloading() 。 目前重要的是要了解这些原理。 startDownloading() 不阻塞等待外部网站。 相反它会立即返回并返回轻量级的FutureString对象。 此对象保证 String将来会可用。 不知道什么时候但是保留此引用一旦存在您就可以使用Future.get()检索它。 换句话说 Future是一个尚未存在的对象的代理或包装。 异步计算完成后您可以提取它。 那么Future提供了什么API Future.get()是最重要的方法。 它阻塞并等待直到承诺的结果可用已解决 。 因此如果我们确实需要该String 则只需调用get()并等待。 有一个过载的版本可以接受超时所以一旦出现问题您将不会永远等待。 如果等待时间太长则会抛出TimeoutException 。 在某些用例中您可能希望窥视“ Future 如果结果尚不可用请继续。 使用isDone()可以做到这一点。 想象一下这样一种情况您的用户正在等待一些异步计算而您想让他知道我们仍在等待并同时进行一些计算 final FutureString contentsFuture startDownloading(new URL(http://www.example.com)); while (!contentsFuture.isDone()) {askUserToWait();doSomeComputationInTheMeantime(); } 到最后调用contentsFuture.get()是保证立即返回而不是因为块Future.isDone()返回true 。 如果遵循上述模式请确保您不忙于等待每秒每秒调用isDone()数百万次。 取消期货是我们尚未讨论的最后一个方面。 想象一下您开始了一些异步作业并且您只能在给定的时间内等待它。 如果2秒钟后仍没有出现我们会放弃并传播错误或解决它。 但是如果您是一个好公民您应该以某种方式告诉这个未来的目标我不再需要您那就算了。 通过不运行过时的任务来节省处理资源。 语法很简单 contentsFuture.cancel(true); //meh... 我们都喜欢神秘的布尔参数不是吗 取消有两种口味。 通过将false传递给mayInterruptIfRunning参数当Future表示尚未开始的计算结果时我们仅取消尚未开始的任务。 但是如果我们的Callable.call()已经在中间则让它结束。 但是如果我们传递true 则Future.cancel()将更具攻击性并尝试中断已经在运行的作业。 怎么样 考虑所有引发臭名昭著的InterruptedException方法即Thread.sleep() Object.wait() Condition.await()以及许多其他方法包括Future.get() 。 如果您禁止使用任何此类方法而某人决定取消您的Callable 则它们实际上将抛出InterruptedException 表示有人试图中断当前正在运行的任务。 因此我们现在了解什么是FutureT –将来会得到的东西的占位符。 这就像尚未生产的汽车的钥匙。 但是实际上如何在应用程序中获取FutureT的实例 两种最常见的来源是线程池和异步方法由您的线程池支持。 因此我们的startDownloading()方法可以重写为 private final ExecutorService pool Executors.newFixedThreadPool(10);public FutureString startDownloading(final URL url) throws IOException {return pool.submit(new CallableString() {Overridepublic String call() throws Exception {try (InputStream input url.openStream()) {return IOUtils.toString(input, StandardCharsets.UTF_8);}}}); } 语法很多但基本思想很简单将长时间运行的计算包装在CallableString然后submit()它们submit()到10个线程的线程池中。 提交返回FutureString某些实现最有可能以某种方式链接到您的任务和线程池。 显然您的任务不会立即执行。 而是将其放置在队列中该队列稍后甚至可能更晚由池中的线程轮询。 现在应该清楚这两种cancel()含义–您始终可以取消仍然驻留在该队列中的任务。 但是取消已经运行的任务要复杂一些。 可以遇到Future另一个地方是Spring和EJB。 例如在Spring框架中您可以使用Async注释您的方法 Async public FutureString startDownloading(final URL url) throws IOException {try (InputStream input url.openStream()) {return new AsyncResult(IOUtils.toString(input, StandardCharsets.UTF_8));} } 注意我们只是将结果包装在实现Future AsyncResult 。 但是该方法本身不处理线程池或异步处理。 Spring稍后将代理所有对startDownloading()调用并在线程池中运行它们。 EJB中的Asynchronous批注提供了完全相同的功能。 因此我们了解了很多有关java.util.concurrent.Future 。 现在该承认了–该界面非常有限尤其是与其他语言相比时。 以后再说。 1 –您不熟悉Java 7的try-with-resources功能吗 您现在最好切换到Java 7。 Java 6将在两周内不再维护。 参考 NoBlogDefFound博客上来自我们的JCG合作伙伴 Tomasz Nurkiewicz的java.util.concurrent.Future基础 。 翻译自: https://www.javacodegeeks.com/2013/02/java-util-concurrent-future-basics.html
http://www.sadfv.cn/news/154042/

相关文章:

  • 如何做网站新手个人怎样建立网站
  • 北京网站制作收费明细中国建设银行网站会员注册信息补充
  • 企业网站营销解决方案来宾建设网站
  • 饿了吗网站wordpress现代建设中国公司网站
  • 武邑县网站建设网络营销seo是什么意思
  • 论坛网站推广方案手机禁止网站跳转页面
  • 2016年网站设计风格免费视频app软件哪个好
  • 酒店行业网站建设方案工程168信息平台
  • 东莞市机电工程学校网站建设与管理在线网页制作系统免费
  • 北京海岸设计公司网站四川建设行业数据共享平台
  • 南皮网站建设公司o2o网站建站
  • 模板公司深圳网站关键词优化排名
  • 池州网站建设公司怎样开网店
  • 网站开发售后服务咸阳网站建设专业公司哪家好
  • 做电商有那个网站wordpress做小程序
  • 零食网站建设策划书模板网站推广服务算中介吗
  • 网络建站公司源码清远市清城区网站建设公司
  • 丽水品牌网站设计WordPress单页生成插件
  • 网站网页制作公司网页美工制作网站
  • 开发网站 语言曲阜住房和城乡建设局网站
  • 长沙公司做网站的价格企业网上登记注册
  • 河北省和城乡建设厅网站腾讯云的wordpress安装目录
  • seo教程技术wordpress文章分页链接优化
  • wordpress 优化版高端网站建设seo
  • 做网站在后台如何添加链接网页版html编辑器
  • 阿里云虚拟主机网站吗外贸网站主机选择
  • 织梦制作手机网站绵阳哪个网站做外卖做的好
  • 便宜虚拟主机做网站备份品牌设计公司50强
  • 福田附近网站建设上海注册公司免费地址
  • 网站建设文化怎么样asp.net做网站原理