Macos OSX不支持epoll功能吗?

Macos OSX不支持epoll功能吗?,macos,epoll,kqueue,Macos,Epoll,Kqueue,我正在学习使用epoll函数。 但是我的OSX,Mountain Lion没有头文件sys/epoll.h 我想在OS X上使用epoll函数。如何使用epoll函数?Mac OS X不支持epoll,但它支持非常类似的epoll。在Mac OSX上使用kqueue而不是epoll。 在java代码中执行类似的操作 final boolean isMac = System.getProperty("os.name").toLowerCase(Locale.US).contains("m

我正在学习使用epoll函数。 但是我的OSX,Mountain Lion没有头文件sys/epoll.h


我想在OS X上使用epoll函数。如何使用epoll函数?

Mac OS X不支持epoll,但它支持非常类似的epoll。在Mac OSX上使用kqueue而不是epoll。 在java代码中执行类似的操作

 final boolean isMac = 

  System.getProperty("os.name").toLowerCase(Locale.US).contains("mac");

    // Configure the server.
    // See https://netty.io/wiki/native-transports.html
    EventLoopGroup bossGroup;
    EventLoopGroup workerGroup;

    if (isMac) {
        bossGroup = new io.netty.channel.kqueue.KQueueEventLoopGroup();
        workerGroup = new io.netty.channel.kqueue.KQueueEventLoopGroup(5);
    } else {
        bossGroup =  new io.netty.channel.epoll.EpollEventLoopGroup();
        workerGroup = new io.netty.channel.epoll.EpollEventLoopGroup(5);
    }
确保您已在pom.xml上添加了io.netty

更新的链接