对于消息队列的概念不是很清楚,如果我用MFC编程,系统自己有消息队列的,通过PostMessage和GetMessage来操作, 但其规定的消息结构是固定的结构吧,对这点不是很清楚,具体是什么结构?  现在要做一个通讯程序,启动两个线程,一个收消息,一个处理消息,收到的消息放在消息队列里,当消息队列里有消息后,处理消息的线程从消息队列里取出消息进行处理.这样的处理方式算不算是消息队列 ?  就是有一点不是很明白,如果我用一个结构链表来存储收到的消息内容,这还算不算是消息队列呢.平常所说的消息队列是用WINDOW定义好的结构还是可以自己定义的.

解决方案 »

  1.   

    平常的消息队列是系统定义的
    用vector,list
      

  2.   

    自己定义一个消息队列怎么定义呢,比如把结构 TMSG_DEVICE结构放入到消息队列里,这个消息队列应该怎么定义呢.
      

  3.   

    可以使用自己的消息队列(就是数组、vector,list也行),不过得写自己的消息传递函数了,就是不能够使用PostThreadMenssage函数;还有PostMessage适用于一个线程内的消息传递,多线程的话使用PostThreadMenssage函数。自己写消息传递函数的时候注意一下多线程间数据存取得互斥关系就可以了。使用信号量或者关键区域就行。