十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
相同點(diǎn)都是對(duì)其他線程或本線程發(fā)送送消息
成都創(chuàng)新互聯(lián)公司專注于利川網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供利川營(yíng)銷型網(wǎng)站建設(shè),利川網(wǎng)站制作、利川網(wǎng)頁(yè)設(shè)計(jì)、利川網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造利川網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供利川網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
不同點(diǎn):
(1)SendMessage是線程阻塞的,要等到其他線程(特指窗口)響應(yīng)完消息,并返回值,才能繼續(xù)執(zhí)行.PostMessage不阻塞.
(2)SendMessage的返回值是其他線程處理后返回的值,PostMessage的返回值是true或false,表示函數(shù)是否正常執(zhí)行.
(3)SendMessage執(zhí)行時(shí)會(huì)造成線程切換,直到下一個(gè)CPU時(shí)間到來(lái)時(shí),才能檢測(cè)返回值并向下執(zhí)行.所為了提高系統(tǒng)執(zhí)行效率,可以在另外一個(gè)線程中應(yīng)該立即返回:
if(InSendMessage)
? ? RelpyMessage(value);
PostMessage不阻塞當(dāng)前線程,立刻返回,繼續(xù)執(zhí)行.
(4)SendMessage
如果目標(biāo)窗口是當(dāng)前線程創(chuàng)建的,則消息不進(jìn)窗口的消息隊(duì)列。否則進(jìn)入窗口的SendMessage消息隊(duì)列。
PostMessage會(huì)進(jìn)入窗口的PostMessage消息隊(duì)列。
所以PostMessage的消息會(huì)有相對(duì)的延遲.具體使用哪個(gè)函數(shù),看使用是否關(guān)心這種延遲.
每個(gè)窗口都有4個(gè)消息隊(duì)列,分別為:
<1>.? ? ? ?Send Message Queue發(fā)送消息隊(duì)列
<2>.? ? ? ?Posted Message Queue登記消息隊(duì)列
<3>.? ? ? ?Visualized Input Queue輸入消息隊(duì)列
<4>.? ? ? ?Reply Message Queue 響應(yīng)消息隊(duì)列