消息與事件

消息與事件間有什麼關係,有何區別?

混淆,搜索之,以下列舉靠譜結果。

事件(動作)

消息(動作的相關信息或其他)

事件常被系統轉換爲(特定的)消息,但並不是所有消息都代表了事件。


  • http://www.cnblogs.com/fly-myblue/archive/2011/06/07/2074622.html

事件是一個動作——用戶觸發的動作。   
消息是一個信息——傳遞給系統的信息。   
   
    
  事件由用戶(操作電腦的人)觸發且只能由用戶觸發,操作系統能夠感覺到由用戶觸發的事件,並將此事件轉換爲一個(特定的)消息發送到程序的消息隊列中。   
    
  這裏強調的是:   
  可以說“用戶觸發了一個事件”,而不能說“用戶觸發了一個消息”。   
  用戶只能觸發事件,而事件只能由用戶觸發。   
  一個事件產生後,將被操作系統轉換爲一個消息,所以一個消息可能是由一個事件轉換而來(或者由操作系統產生)。   
  一個消息可能會產生另一個消息,但一個消息決不能產生一個事件——時間只能由用戶觸發。   
    
  總結:   
  事件:只能由用戶通過外設的輸入產生。   
  消息:(產生消息的來源有三個)   
  (1)   由操作系統產生。   
  (2)   由用戶觸發的事件轉換而來。   
  (3)   由另一個消息產生。

1.http://topic.csdn.net/u/20080723/12/32e2f082-6b63-48e6-bdf4-2ebba4cff9e9.html

  • 消息驅動,響應事件,然後完成功能,所以,就要通過消息決定所有邏輯分支操作,添加事件去處理這些問題;
  • event一般用在線程或進程的同步,可以使用WaitSingleObject來等待。
    message一般用在窗口,線程,進程之間的數據傳遞,使用sendmessage, postmessage,sendmessagetimeout來

 

2.http://www.embed.com.cn/bbs/dispbbs.asp?boardID=10&ID=339

  • 消息是具有管理隊列的,往往用於線程間的數據交換;事件則依賴硬件的觸發。2者相同處是都可以阻塞線程,節省CPU負荷
發佈了46 篇原創文章 · 獲贊 23 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章