非同步裝置I/O適用於大資料量和高效能的場合,比如伺服器。 要使用非同步裝置I/O,在調用CreateFile來開啟或建立一個裝置的時候,讓參數dwFlagsAndAttributes包括FILE_FALG_OVERLAPPED,這意味著想讓開啟的裝置可以被非同步訪問。 為了發送一個I/O請求給一個裝置,也就是讓一個I/O請求進入I/O隊列,你可以使用ReadFile和WriteFile這兩個函數:Code highlighting produced by Actipro
每個進程都有一個主線程。每個線程都包含2個部分:1、一個核心對象,操作用此來管理線程,裡麵包含了線程的狀態;2、一個線程堆棧,用來維護所有的函數參數和局部變數。 啟動線程,需要提供一個線程入口函數,該函數原形必須為如下形式:Code highlighting produced by Actipro CodeHighlighter
最近剛開始學習《Windows via C/C++》的時候,開始的時候沒有做好筆記,所以學得很模糊,現在利用在休息的機會,好好學習和進修《Windows via C/C++》時,想邊學邊做一些學習的筆記,以為自己的學習提供協助,和以後自己查看、溫習和提高。 《Windows via C/C++》的前兩章,本人覺得是沒什麼好多講的,看看就可以了,理解起來並不困難,只要知道有這麼個東西,以後編程時注意養成習慣就可以了,更何況,這些東西,我們平常也是在用的。
有的時候,想要獲得線程執行一個任務的所花費的時間,你可以使用GetTickCount()(32位Windows環境,不包括Windows Vista)或者GetTickCount64()(Windows Vista環境)函數來獲得當前的時間。兩次執行該函數,並作差運算即可。但是這需要線上程不被打斷的情況下才是有效。 可以使用GetThreadTimes函數來獲得一個線程的已耗用時間。Code highlighting produced by Actipro
前面曾經講過,裝置I/O的方式有兩種:同步和非同步。本篇介紹一下同步裝置I/O。主要涉及到兩個函數:ReadFile和WriteFile。 不要被這兩個函數的名稱迷惑,不僅可以將這兩個作用於檔案,也可以作用於其他裝置:比如管道、郵槽等。 最簡單的裝置I/O,可以通過ReadFile和WriteFile這兩個函數來實現:Code highlighting produced by Actipro CodeHighlighter
文章目錄 new 方法Vector 方法: new 方法一維:int * a = new int [n];...delete [] a; // can't use "delete a" 二維(m×n):int **a = new int * [m];for (int i = 0; i < m; ++i) a[i] = new int [n];...for (int i = 0; i < m; ++i) delete []