1. <s id="4jtld"></s>
    1. <span id="4jtld"><meter id="4jtld"></meter></span>

        <span id="4jtld"></span>
      1. <s id="4jtld"><noscript id="4jtld"><i id="4jtld"></i></noscript></s>
        溫馨提示×

        SendMessage和PostMessage的異同

        發布時間:2020-07-03 10:34:25 來源:網絡 閱讀:879 作者:Chinayu2014 欄目:編程語言
        1. 相同點都是對其他線程或本線程發送送消息

        2. 不同點:

          (1)SendMessage是線程阻塞的,要等到其他線程(特指窗口)響應完消息,并返回值,才能繼續執行.PostMessage不阻塞.

          (2)SendMessage的返回值是其他線程處理后返回的值,PostMessage的返回值是true或false,表示函數是否正常執行.

          (3)SendMessage執行時會造成線程切換,直到下一個CPU時間到來時,才能檢測返回值并向下執行.所為了提高系統執行效率,可以在另外一個線程中應該立即返回:
          if(InSendMessage)

          ? ? RelpyMessage(value);

          PostMessage不阻塞當前線程,立刻返回,繼續執行.

          (4)SendMessage

          如果目標窗口是當前線程創建的,則消息不進窗口的消息隊列。否則進入窗口的SendMessage消息隊列。

          PostMessage會進入窗口的PostMessage消息隊列。

          所以PostMessage的消息會有相對的延遲.具體使用哪個函數,看使用是否關心這種延遲.

          每個窗口都有4個消息隊列,分別為:

          <1>.? ? ? ?Send Message Queue發送消息隊列

          <2>.? ? ? ?Posted Message Queue登記消息隊列

          <3>.? ? ? ?Visualized Input Queue輸入消息隊列

          <4>.? ? ? ?Reply Message Queue 響應消息隊列

        免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

        主題地圖

        欧美午夜理伦三级在线观看,欧美午夜乱伦片,欧美午夜乱色视频在线观看,欧美午夜免费一区二区,欧美午夜片欧美片在线观看