原创 C++筆試題目

一、 1、以下程序的運行結果是() [cpp] view plaincopy int main(void)   {       printf("%s , %5.3s\n","computer","computer"

原创 互斥對象、事件對象、與關鍵代碼段的比較

線程死鎖 例子:對於多線程而言,如果線程1擁有了臨界區對象A,等待臨界區對象B的擁有權,線程2擁有了臨界區對象B,等待臨界區對象A的擁有權,這就造成了線程死鎖 互斥對象、事件對象、與關鍵代碼段的比較 1)互斥對象和事件對象都屬於內核對象,

原创 利用互斥對象實現線程同步

進程、線程 程序是計算機指令的集合,它以文件的形式存儲在磁盤上。而進程通常被定義爲一個正在運行的程序的實例,是一個程序在其自身的地址空間中的一次執行活動 進程從來不執行任何東西,真正完成代碼執行的是線程,而進程只是線程的容器,或者說是線程

原创 匿名管道

匿名管道 匿名管道是一個未命名、單向管道,通常用來在一個父進程和一個子進程之間傳輸數據。匿名管道只能實現在本地機器上兩個進程間的通信,而不能實現跨越網絡的通信。 主要函數 CreatePipe();--創建一個匿名管道、返回該匿名管道的讀

原创 命名管道

命名管道 命名管道通過網絡來完成進程間的通信,它屏蔽了底層的網絡協議細節。我們在不瞭解網絡協議的情況下,也可以利用命名管道來實現進程間的通信。命名管道不僅可以在本機上實現兩個進程間的通信,還可以跨網絡實現兩個進程間的通信。 將命名管道作

原创 Bitmap Topics: Displaying From a File

//例子1(對話框) void CFoodPreview1Dlg::OnBnClickedSelect() { // TODO: Add your control notification handler code here TCHA

原创 基於消息的異步套接字

基於消息的異步套接字 Windows套接字在兩種模式下執行I/O操作,阻塞模式和非阻塞模式。在阻塞模式下,在I/O操作完成前,執行操作的Winsock函數會一直等待下去,不會立即返回(也就不會將控制權交還給程序),而在非阻塞模式下,Win

原创 C++運算符優先級

優先級 操作符 描述 例子 結合性 1 () [] -> . :: ++ -- 調節優先級的括號操作符 數組下標訪問操作符 通過指向對象的指針訪問成員的操作符 通過對象本身訪問成員的操作符 作用域操作符 後置自增操作符 後置自減操作符

原创 剪貼板

  剪貼板 剪貼板實際上是系統維護管理的一塊內存區域,當在一個進程中複製數據時,是將這個數據放到該塊內存區域中,當在另一個進程中粘貼數據時,是從該塊內存區域中取出數據,然後顯示在窗口上。 主要函數  BOOL OpenClipborad

原创 事件對象

事件對象 事件對象也屬於內核對象,它又兩種不同的類型:人工重置的事件對象和自動重置的事件對象。 當人工重置的事件對象得到通知時,等待該事件對象的所有線程均變爲可調度線程;當一個自動重置的事件對象得到通知時,等待該事件對象的線程中只有一個線

原创 郵槽

郵槽 郵槽是基於廣播通信體系設計出來的,它採用無連接的不可靠的數據傳輸。郵槽是一種單向的通信機制,創建郵槽的服務器進程讀取數據,打開郵槽的客戶機進程寫入數據。 主要函數 CreateMailslot();--創建一個郵槽,然後返回所創建的

原创 Windos Socket的實現

Windos Socket的實現 Windows socket 是microsoft windows的網絡程序設計接口,它是從berkeley socket擴展而來,以動態鏈接庫的形式提供給我們使用。windows socket在繼承了b