徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
安装
比浏览器更快的访问!
 

异步IO

指数 异步IO

异步IO是计算机操作系统对输入输出的一种处理方式:发起IO请求的线程不等IO操作完成,就继续执行随后的代码,IO结果用其他方式通知发起IO请求的程序。与异步IO相对的是更为常见的“同步(阻塞)IO”:发起IO请求的线程不从正在调用的IO操作函数返回(即被阻塞),直至IO操作完成。.

9 关系: 句柄可唤醒I/O事件 (同步原语)线程池重叠I/OI/OIOCPWindows APIWindows对象管理

句柄

在程序设计中,句柄(handle)是Windows操作系统用来标识被应用程序所建立或使用的对象的整数。其本质相当于带有引用计数的智能指针。当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,可以使用句柄。.

新!!: 异步IO和句柄 · 查看更多 »

可唤醒I/O

可唤醒I/O(Alertable I/O)是一种重叠I/O,发起I/O请求的线程在可唤醒状态下(alertable state)执行I/O请求的完成例程。也即完成例程作为回调函数(callback function),被这个线程异步过程调用。 线程只有在执行下述API函数之一,并设置适当的参数标记时,才阻塞于可唤醒状态:.

新!!: 异步IO和可唤醒I/O · 查看更多 »

事件 (同步原语)

事件作为一种同步原语,是计算机科学中的一种同步机制,用来指示等待中的进程特定条件已经变为真。 事件对象一般具有下述操作:.

新!!: 异步IO和事件 (同步原语) · 查看更多 »

线程池

线程池(thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。 例如,线程数一般取cpu数量+2比较合适,线程数过多会导致额外的线程切换开销。 任务调度以执行线程的常见方法是使用同步队列,称作任务队列。池中的线程等待队列中的任务,并把执行完的任务放入完成队列中。 线程池模式一般分为两种:HS/HA半同步/半异步模式、L/F领导者与跟随者模式。.

新!!: 异步IO和线程池 · 查看更多 »

重叠I/O

重叠I/O(Overlapped I/O)是Windows操作系统对异步I/O的实现。自Windows NT引入.

新!!: 异步IO和重叠I/O · 查看更多 »

I/O

I/O(Input/Output),即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。 輸入/出(英文:Input/Output,簡寫為 I/O)是信息處理系統(例如計算機)與外部世界(可能是人類或另一信息處理系統)之間的通信。輸入是系統接收的信號或數據,輸出則是從其發送的信號或數據。該術語也可以用作行動的一部分;到“執行I/O”是執行輸入或輸出的操作。 輸入/出設備是硬件中由人(或其他系統)使用與計算機進行通信的部件。例如,鍵盤或鼠標是計算機的輸入設備,而監視器和打印機是輸出設備。計算機之間的通信設備(如電信數據機和網卡)通常執行輸入和輸出操作。 將設備指定為輸入或輸出取決於視角。鼠標和鍵盤擷取人類用戶的肢体動作,並將其轉換為計算機可解的輸入信號; 這些設備的輸出是計算機的輸入。同樣,打印機和監視器則用於將計算機處理的過程和結果輸出,並將這些信號轉換為人類用戶能理解的呈現。從用戶的角度來看,閱讀或查看這些呈現的過程則是接受輸入;人機互動主要是在研究了解機器與人類之間這種過程的交互介面。 在現代計算機體系結構中 CPU 可以使用單獨的指令直接讀取或寫入,被認為是計算機的核心。而 CPU 和主存儲器的組合,任何信息傳入或傳出 CPU /內存組合,例如通過從磁盤驅動器讀取數據,就會被認為是 I/O;CPU 及其電路版提供用於低階編程的存儲器映射 I/O,例如在設備驅動程序的實現中,或者提供對 I/O通道的訪問。一個 I/O算法設計是利用內存,而且高效地進行與輔助存儲設備交換數據時,如一個磁盤驅動器。.

新!!: 异步IO和I/O · 查看更多 »

IOCP

输入输出完成端口(Input/Output Completion Port,IOCP), 是支持多个同时发生的异步I/O操作的应用程序编程接口,在Windows NT的3.5版本以後,或AIX 5版以後或Solaris第十版以後,開始支持。 IOCP特别适合C/S模式网络服务器端模型。因为,让每一个socket有一个线程负责同步(阻塞)数据处理,one-thread-per-client的缺点是:一是如果连入的客户多了,就需要同样多的线程;二是不同的socket的数据处理都要线程切换的代价。.

新!!: 异步IO和IOCP · 查看更多 »

Windows API

Windows操作系统应用程序接口(Windows API),有非正式的简称法为WinAPI,是微软对于Windows操作系统中可用的核心应用程序编程接口的称法。它被设计为各种语言的程序调用,也是应用软件与Windows系统最直接的交互方式。大多数驱动程序需要对Windows系统更底层次访问接口,由所用版本的Windows的Native API来提供接口。 Windows有一个软件开发套件(SDK, software development kit)提供相应的文档和工具,以使程序员开发使用Windows API的软件和利用Windows技术。.

新!!: 异步IO和Windows API · 查看更多 »

Windows对象管理

对象管理是Windows Executive的一个子系统实现,用于管理Windows资源。 资源包括物理设备、文件、文件目录、注册表条目、正在运行的进程等等。所有子系统访问资源都必须通过对象管理子系统。.

新!!: 异步IO和Windows对象管理 · 查看更多 »

重定向到这里:

异步I/O

传出传入
嘿!我们在Facebook上吧! »