我的一个多线程程序,使用ADO来处理数据库如果我调用了
CoInitialize(NULL);那么关闭程序的时候,线程就不能全部自动关闭,卡在listen上了,listen没有返回,一直阻塞着,我已经把socket close掉了我怎么才能让程序正常退出呢?还有,可以大概的解释一下
CoInitialize(NULL);到底做了什么吗?

解决方案 »

  1.   

    我看msdn上说这个函数是用在线程里面的,那岂不是我每个线程都要执行一次这个函数?有更好的方法吗?我没有用MFC
      

  2.   

    在线程函数的最后调用
    CoUninitialize();
      

  3.   

    呵呵,不是listen没有返回,是accept没有返回吧
      

  4.   

    这个问题我解决了,是listen没返回,卡住了,本来我closewsa,就会出错退出的,但用了ole就不行了,必须closesocket才能退出谢谢大家