libprocess是mesos中非常重要的一个基础库,提供一些很方便的helper函数以及并发编程所需要的基本原语,例如下面我将重点讲的future/promise。
为了更好的解释future/promise是什么,我抽取了一段mesos中的代码作为例子:
Future<Socket> PollSocketImpl::accept() { return io::poll(get(), io::READ) .then(lambda::bind(&internal::accept, get())); }
这个函数的基本作用是:使用io::poll()注册io::READ事件,并且当事件ready的时候,调用internal::accept()。
显然,这是一个异步的accept()方法。