我写一个网络程序,首先有一个监听线程,在一直监听,然后来一个连接请求就accept一下,接收的socket套接字就用new对象的方式传递到一个处理线程里,
每个处理线程也是创建的,然后再每个线程里都有创建文件的操作和打开日志文件写日志的操作,系统运行一段时间后没问题,就是发现占用内存在一直增加
运行一天一夜左右的时候,就会提示处理线程里的创建文件失败,然后日志文件也打不开,我不知道怎么了?什么情况能导致这样的问题呢?

解决方案 »

  1.   

    有几个问题你得注意:1.你的缓冲区用的如果是直接new出来的,那么,数据在堆上,最大可承受4G,如果是用double,int定义的话,则更少.2.如果你存的是普通的TXT文件,如果你的系统是win98或者以下的话,最大文件大小为64K,win2000以上也应该只有4G 3.你用多线程时注意输入输出的数据临界区没有?4在在
      

  2.   

    new得到的指针在用完后要delete;线程完成任务后要退出;创建线程得到的句柄不用时要关闭。
      

  3.   

    处理线程处理完NEW的对象后,没释放吧,DELETE
      

  4.   

    两个的handle好像都没看到你close
      

  5.   

    在监听线程里来请求的时候,我创建线程CreateThread并没有用一个句柄接收返回类型呀,这样还用什么关闭吗?