Java zmq poller是否提供类似的方式来监视文件描述符,例如c ++ zmq poller

时间:2019-01-30 01:58:22

标签: java zeromq

在zmq cpp代码中,轮询器也可以监视fd,请参见下文

mFd is created with eventfd as mFd(eventfd(0, 0))

zmq::pollitem_t poll[2] = {{mSocket, 0, ZMQ_POLLIN, 0},
                         {NULL, mFd, ZMQ_POLLIN, 0} }
while (!abort) {
    zmq::poll(poll, 2, -1);
    if (poll[0].revents & ZMQ_POLLIN) {
        socket handling;
    }
    //event fd has activity
    if (poll[1].revents & ZMQ_POLLIN) {
        process other things
    }

我们可以使用下面的代码来唤醒轮询器做其他事情,作为一个信号,当我们想尽快唤醒轮询器做某事并且套接字上没有任何活动时,这很有用。事件fd就像管道一样,一侧写一些东西来触发轮询器上的读取事件,从而唤醒轮询器

int x = 1;
write(mFd, &x, sizeof(x));

那么java zmq是否可以执行上述类似操作?除了套接字监视之外,我们还可以执行类似上述事件文件描述符的操作吗?有例子吗?

0 个答案:

没有答案