美文网首页
clojure里的future和promise

clojure里的future和promise

作者: tigerhy1 | 来源:发表于2015-08-02 11:03 被阅读0次

    一直看到这两个名词,似乎在netty的源码里经常看到,但是并不特别清楚他们的含义,所以非常好奇。

    在clojure里future,带着一个函数,和函数的参数,最后返回一个值,会在一个单独的线程中执行,会新开一个线程,而并不是虚拟线程。

    promise则是运用future的一个东西,future带的函数里面会有promise值,而这个promise这个时候是没有具体值的,所以这个时候future创建的线程会阻塞。在我们delivery promise的值之后,也就是给这个promise值之后,这时候future的线程会开始执行。

    从名字上理解,future返回一值,说是在不久的将来能够计算出来。promise则是future里函数带的参数,承诺在某个时间会给出具体的值,然后future创建的线程就可以工作了。

    那么future和promise又有什么作用呢?我是觉得future的主要作用是创建线程。promise的作用是把多个future组合起来。  

    相关文章

      网友评论

          本文标题:clojure里的future和promise

          本文链接:https://www.haomeiwen.com/subject/uzlvqttx.html