• 请不要在回答技术问题时复制粘贴 AI 生成的内容
iXingo
V2EX  ›  程序员

Netty 源码中的 inEventLoop()方法如何理解?有没有实际的例子,感觉不好理解

  •  
  •   iXingo ·
    iXingo · Dec 16, 2020 · 2666 views
    This topic created in 2151 days ago, the information mentioned may be changed or developed.
    一般我们在各种 Eventhandler 中处理事件不就是在 EventLoop 中的线程吗,什么时候会出现调用线程不在 eventloop 中的情况
    7 replies  •  2020-12-17 08:58:33 +08:00
    senninha
    senninha
    Dec 16, 2020
    1
    解码后的消息包丢到另外一个线程池处理,处理完后写 response,不就是调用线程不在 eventLoop 了。
    BBCCBB
    BBCCBB
    Dec 16, 2020
    2
    有耗时操作需要在单独的线程里跑的时候
    iXingo
    iXingo
    OP
    Dec 16, 2020
    3
    @senninha 谢谢老哥。举个例子,在业务线程池中可以获取 channel 的引用,然后调用 channel 的读写方法就会 inEventLoop=false
    iXingo
    iXingo
    OP
    Dec 16, 2020
    4
    @senninha 可以这样理解吗
    iXingo
    iXingo
    OP
    Dec 16, 2020
    5
    @BBCCBB 谢谢老哥
    senninha
    senninha
    Dec 16, 2020
    6
    @iXingo 对的
    anthow
    anthow
    Dec 17, 2020
    7
    如果用过 vert.x 就很好理解了,就是非阻塞的逻辑放入 EventLoop 线程中干,阻塞的可以干到自己的线程池或者用 work 线程。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1320 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 17:14 · PVG 01:14 · LAX 09:14 · JFK 12:14
    ♥ Do have faith in what you're doing.