第17章、程序間的通訊
1. 當乙個程序啟動後,作業系統為其分配4gb的私有位址空間。位於同乙個程序中的多個執行緒共享同乙個位址空間,因此執行緒之間的通訊非常簡單;
2. 四種程序間通訊方式:剪下板,匿名管道,命名管道,郵槽;
3. 如果某個程式已經開啟了剪貼簿,則其他應用程式將不能修改剪下板,直到前者呼叫了closeclipboard函式。
4. 剪下板格式;
5. 如果在剪下板上放置的資料過大,就會浪費記憶體空間,降低對資源的利用率,為了避免這種浪費,就可以採用延遲提交技術;(即直到有其他程序需要資料或者自身程序需要終止執行時再次呼叫setclipboarddata函式,這時才真正提交資料)
6. 首先呼叫openclipboard開啟剪下板,如果成功開啟,則呼叫emptyclipboard函式清空剪下板,釋放剪下板上資料的控制代碼,並將剪下板的所有權分配給當前視窗;
在把資料放置到剪下板後之後,一定要記住呼叫closeclipboard函式關閉剪貼簿,否則其他程序將無法開啟剪貼簿;
7. 匿名管道是乙個未命名的,單向管道,通常用來在乙個父程序和乙個子程序之間傳輸資料。
匿名管道只能實現本地機器上兩個程序間的通訊,而不能實現跨網路的通訊;
8,在這以前的章節中,凡是需要security_attributes結構體指標的地方,我們傳遞的都是null值,讓系統為建立的物件賦予預設的安全描述符,而函式所返回的控制代碼將不能被子程序所繼承。但本章不行;
9.因為匿名管道沒有名稱,所以只能在父程序中呼叫createprocess函式建立子程序,將管道的讀,寫控制代碼傳遞給子程序;
10.四種剪貼簿的比較:
1. 剪貼簿和匿名管道只能實現同一臺機器兩個程序間的通訊,而不能實現跨網路的通訊;
2. 而命名管道和郵槽還可以實現網路的程序間通訊;
3. 郵槽可以實現一對多通訊,而命名管道只能是點對點的單一通訊,但是郵槽的缺點是資料量小,通常是在424位元組以下,如果資料量大,則採用命名管道來完成;
第17章 程序間通訊
程序間通訊有6種方法 1.剪貼簿 只能在本機上的程序間通訊 a.建立個clipboard的對話方塊應用程式,加兩editbox和兩個button傳送接收。b.具體 傳送端 if openclipboard 接收端 if openclipboard 2.匿名管道 只能在父子程序之間進行通訊 只能在本機...
孫鑫VC 第15章多執行緒
第15章 1.程序從來不執行任何東西,它只是執行緒的容器。若要使程序完成某項操作,它必須擁有乙個在它環境中執行的執行緒,此執行緒負責執行包含在程序的位址空間中的 即,真正完成 執行的是執行緒,而程序只是執行緒的容器,或者說是執行緒的執行環境 2.頁檔案透明的為應用程式增加了可以使用的記憶體。它通過在...
VC 學習(17) 程序間通訊
有四種方法 1.剪貼簿 a.建立個clipboard的對話方塊應用程式,加兩editbox和兩個button傳送接收。b.具體 傳送端 if openclipboard 接收端 if openclipboard 2.匿名管道 只能在父子程序之間進行通訊 a.先建乙個parent的單文件應用程式,增加...