我可以給一個(gè)線程創(chuàng)建一個(gè)消息循環(huán)嗎?
你說的是windows平臺(tái)么?如果是,那么: 可以,簡單說 1、使用任何消息函數(shù)一次,這個(gè)目的是將當(dāng)前線程內(nèi)部轉(zhuǎn)換成gui線程,gui子系統(tǒng)會(huì)初始化相關(guān)數(shù)據(jù)并創(chuàng)建消息隊(duì)列,此后,其他線程可post消息到此線程。
常常使用PeekMessage一次達(dá)到這個(gè)效果 2、在任何你想獲得消息的地方調(diào)用獲取消息的函數(shù)(如GetMessage),在獲得消息后,直接查看MSG結(jié)構(gòu)體中各成員,并作相應(yīng)處理 3、其他線程可使用PostThreadMessage給那個(gè)線程發(fā)消息,目標(biāo)為線程id 其實(shí)消息隊(duì)列雖然作為gui的一部分,但在windows平臺(tái)常常被用作與工作線程通訊