HELP?! I've created a worker thread in an MFC app(AfxBeginThread()). A COM interface pointer to an in-process ATL object is marshalled over to it. The thread-proc calls a method on the interface that could take a long time (db query, or print for instance). The whole point is to keep the user-interface responsive during the expensive operation..there's also a cancel button to kill the operation...anyway, the problem is the UI in the app is not responsive at all during the operation..in fact, all Windows events (dock/resize, move, tab-clicks, button clicks etc), are "queued" until the operation has ended. This makes no sense to me, as I've never seen this behaviour before...worker threads are supposed to allow the main CWinApp thread to continue!! Help!! thanks in advance to anyone! Steve