|
안녕하십니까? 많은 질문에 답변을 하시는 분들에게 고맙다는 말을 먼저 드립니다.
저는 Tclientsocket을 non-blocking으로 사용하고 있습니다. 그리고 화면에는 받아온 데이터를 뿌리는 아주 평범한 C/S프로그램을 작성했습니다. 그런데 데이터 양을 많이 했더니만 cpu을 한없이 잡어먹는 바람에 어디서 듣게된 processmessages를 사용해보았습니다. cpu는 100이더라도 최소한 종료는 시킬수 있어야 하지 않겠습니까?..
그래서 OnRead에 processMessages()를 추가했더니 socket에 OnRead가 processMessages()를 호출하면 다시 호출되어집니다. 그래서 빈buffer을 읽든지 다른 block을 읽어 버립니다.
해서 다시 main에 timer를 두고 다시 해보았더니 그런 상황은 자주는 발생이 되어 지지 않지만 그래도 가끔은 발생하는것 같고 다른 event들에도 약간은 영향을 받는것 같습니다.
processmessages()사용상에 주의할 점이 있는지 알려주세요...
|