zoukankan      html  css  js  c++  java
  • Atitit.异步编程技术原理与实践attilax总结

    Atitit.异步编程技术原理与实践attilax总结

     

    1. 俩种实现模式 类库方式,以及语言方式,java futuretask c# await1

    2. 事件(中断)机制1

    3. Await 模式(推荐)1

    4. Java的实现模式futuretask 对于c#task类库(推荐)1

    4.1. 使用Java 8CompletableFuture实现函数式的回调.htm2

    5. Timer模式2

    6. Thread模式(不推荐,太底层)2

     

    1. 俩种实现模式 类库方式,以及语言方式,java futuretask c# await

    2. 事件(中断)机制

    3. Await 模式(推荐)

    Java中的是个futureTask走十.net 中的task..

    java还没语法级别的await,,只可以当库的模式实现..

     

    作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

    汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

     

     

    4. Java的实现模式futuretask 对于c#task类库(推荐)

     

    它使用Future接口来代表下载任务,作为异步执行的任务模型,它有很大的局限性。Future允许客户端询问任务执行的结果,如果必要的话,将会产生阻塞,另外还可以询问任务的状态,判断它已经完成还是被取消了。但是,Future本身并不能提供回调方法,假设能够这样做的话,当每个图片下载完成的时候,就能通知页面的渲染线程了。

    4.1. 使用Java 8CompletableFuture实现函数式的回调.htm

     CompletableFuture.runAsync(() ->

                   renderImage(infoToData.apply(imageInfo)), executor));

     

     

    5. Timer模式

    如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程,从而可能延迟后续任务的执行

    所有 Timer 都使用一个共享线程(由第一个执行操作的 Timer 对象创建)执行等待,但是 Timer 的动作事件处理程序还会在其他线程(事件指派线程上)执行。 
    java.util.Timer
     简单理解,javax.swing.Timer没有增加线程,利用事件线程的间隙运行,java.util.Timer增加线程了。

     本回答由

     

     

    6. Thread模式(不推荐,太底层)

     

     

    使用Java 8CompletableFuture实现函数式的回调.htm

    atiend

  • 相关阅读:
    类加载器
    hibernate笔记
    windows笔记
    maven笔记
    mysql笔记
    jsonp使用
    [ZJU 1010] Area
    [ZJU 1004] Anagrams by Stack
    [ZJU 1003] Crashing Balloon
    [ZJU 1002] Fire Net
  • 原文地址:https://www.cnblogs.com/attilax/p/5963245.html
Copyright © 2011-2022 走看看