孫鑫VC 第17章程序間的通訊

2021-06-09 07:43:44 字數 1008 閱讀 3210

第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的單文件應用程式,增加...