std::queue<char*> mq1; 

        std::queue<char*> mq2;


        Thread* nThread = new Thread(&mq1);

        if(!nThread->CreateThread())

                return -1; 

        while(1)

        {   

            if(!mq2.empty())

            {   

                mq2.pop();

            }   


            if(!mq1.empty())

            {   

                char* ch = mq1.front();

                printf("%s\n", ch);

                mq1.pop();

            }   

        }  




저게 문제의 코드인데 mq1이라는 큐를 만들어서 주소를 nThread한테 인자로 주면

저 스레드가 큐에다가 메세지를 막 넣음


그럼 메인에서 와일문 돌면서 메세지를 출력하는데


문제는 mq2인데 저 mq2는 선언되고 아무일도 안하잖아

근데 저

 if(!mq2.empty())

  mq2.pop();


코드가 없으면 mq1에서 메세지를 아무리 보내도 못받는다


근데 저게 있으면 아무 문제 없이 잘 실행됨

std queue문제인가? 이거 도대체 왜이러냐?