异步设计-嵌入式qt开发项目教程

时间:2024-06-29 05:59:10
【文件属性】:

文件名称:异步设计-嵌入式qt开发项目教程

文件大小:4.2MB

文件格式:PDF

更新时间:2024-06-29 05:59:10

Netty NIO

1.2 异步设计 整个 Netty 的 API 都是异步的,异步处理不是一个新的机制,这个机制出来已经有一些时间了。对网络应用 来说,IO 一般是性能的瓶颈,使用异步 IO 可以较大程度上提高程序性能,因为异步变的越来越重要。但是它是如 何工作的呢?以及有哪些不同的模式可用呢? 异步处理提倡更有效的使用资源,它允许你创建一个任务,当有事件发生时将获得通知并等待事件完成。这 样就不会阻塞,不管事件完成与否都会及时返回,资源利用率更高,程序可以利用剩余的资源做一些其他的事情。 本节将说明一起工作或实现异步 API 的两个 常用的方法,并讨论这些技术之间的差异。 1.2.1 Callbacks(回调 ) 回调一般是异步处理的一种技术。一个回调是被传递到并且执行完该方法。你可能认为这种模式来自 JavaScript,在 Javascript 中,回调是它的核心。下面的代码显示了如何使用这种技术来获取数据。下面代码是一 个简单的回调 [java] view plaincopy 1. package  netty.in.action;       2.       3. public  class  Worker  {       4.       5.        public  void  doWork()  {       6.                Fetcher  fetcher  =  new  MyFetcher(new  Data(1,  0));       7.                fetcher.fetchData(new  FetcherCallback()  {       8.                        @Override       9.                        public  void  onError(Throwable  cause)  {       10.                                System.out.println("An  error  accour:  "  +  cause.getMessage());       11.                        }       12.       13.                        @Override       14.                        public  void  onData(Data  data)  {       15.                                System.out.println("Data  received:  "  +  data);       16.                        }       17.                });       18.        }      


网友评论