异步编程在Netty中如何工作?它会让事情变得更健谈吗?

时间:2012-06-11 19:10:24

标签: java asynchronous netty

通常你调用一个服务,它会阻塞,直到池中的一个线程可用,然后它返回一个结果。

对于Netty或一般的期货,您不会立即阻止并返回。只有当您确实需要调用.get()或API的任何值时,您才会阻止,直到您收到数据为止。

在处理服务或客户端/服务器模型时,这意味着您在执行asych时将更多地与服务器连接/断开连接。编程正确吗? (有阻止的好处)。

这是对的吗?

Netty基本上是使用SEDE(分阶段事件驱动架构)和使用Java的NIO数据类型设计的。

1 个答案:

答案 0 :(得分:9)

没有

异步使用Netty意味着管理连接和推送I / O的操作在不同的线程中执行,稍后会向原始调用者通知所请求操作的结果,或者在有可用数据时回调感兴趣的侦听器待读。

您的应用程序线程可以阻止它们,但这不是必需的,因为您可以定义将在异步操作完成时执行的回调。

  

在处理服务或客户端/服务器模型时,这意味着您在执行asych时将更多地与服务器连接/断开连接   编程正确吗? (有阻止的好处)。这是   正确的吗?

该段落中几乎没有任何内容是正确的。

我建议this tutorial作为对这些基本概念的更好解释。(完全披露,我写了)。