首页 相关文章 纵横捭阖C++之从异步谈起

纵横捭阖C++之从异步谈起

简介

一般来说,简单的异步(Asynchronous)调用是这样一种调用方式:发起者请求一个异步调用,通知执行者,然后处理其他工作,在某一个同步点等待执行者的完成;执行者执行调用的实际操作,完成后通知发起者。可以看出,在异步调用中有两种角色:发起者和执行者,它们都是能主动运行的对象,我们称为主动对象,同时还有一个同步点,主动对象在同步点协调同步。在本文中,我们讨论主要是通用计算机、多进程多线程的分时操作系统上的异步调用。在操作系统的角度上来看,主动对象包括了进程、线程和硬件上的IC等,至于中断,可以看作总是在某个进程或者线程的上下文借用一下CPU。而同步操作可以通过操作系统得各种同步机制:互斥锁,信号灯等等来完成。

我们可以先看看异步调用在Windows(本文中一般不加指出的话,都是特指NT/2000)读写文件中的应用。Windows中的ReadFile和WriteFile都提供了异步的接口。以ReadFile为例,

BOOL ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesR...[ 查看全文 ]

2016-02-19 标签:

纵横捭阖C++之从异步谈起的相关文章

手机页面
收藏网站 回到头部