Home | Chi sono | Contattami
 

Progr. lineare

Delphi
 
Componenti
  Database
 
Miei articoli

Windows

Miei articoli 

 

Asinchronous I/O


Di seguito alcuni esempi tratti da TheDelphiMagazine relativi all'esecuzione asincrona di operazioni di I/O. Il tutto gira attorno alla structure OVERLAPPED che viene utilizzata come parametro nelle api win32 ReadFile, WriteFile, etc...: proprio per questo si parla anche di Overlapped I/O. Le api Win32 ReadFile e WriteFile prevedono l'esecuzione di operazioni di I/O sia in forma sincrona sia in forma asincrona mentre le 2 estensioni corrispondenti denominate ReadFileEx e WriteFileEx consentono solo esecuzioni asincrone. La peculiarità delle 2 versioni estese è l'ultimo parametro che definisce una funzione di callback: tale funzione di callback verrà chiamata ad operazione di I/O terminata o cancellata nel caso che il thread chiamante sia in uno stato di attesa in seguito ad esempio alla chiamata all'api win32 WaitForSingleObjectEx; per approfondimenti sulle caratteristiche di questa funzione di callback basta consultare FileIOCompletionRoutine Callback Function . Non mi dilungo ulteriormente in quanto il Platform SDK fornisce una documentazione più che adeguata; se si vuole prendere il discorso alla lontana si può far riferimento al seguente link dedicato alla Sincronizzazione

http://msdn.microsoft.com/en-us/library/ms686353(VS.85).aspx

Gi esempi trattano la lettura asincrona di un file tramite le api ReadFile e ReadFileEx  

Async.7z

 

 
 
Your Ad Here