代码改变世界

随笔档案-2013年11月

C++多线程环境下注意共享资源的释放顺序

2013-11-16 21:45 by DVwei, 1170 阅读, 收藏,
摘要: 比如我现在写一个多线程下载程序,包含DownloadTask、HttpDownload两个类。class DownloadTask{ //省略n行代码public: int m_threads;//需创建的线程总数 CCriticalSection m_cs;//临界区 void Stop();};class HttpDownload{ //省略n行代码 HttpDownload(DownloadTask* task): m_task(task) { }public: DownloadTask* m_task; void Start();/... 阅读全文

解决ERROR_INVALID_USER_BUFFER

2013-11-16 20:57 by DVwei, 2119 阅读, 收藏,
摘要: 我用CSocket编写了一个HTTP下载程序,接收数据大概如下://......//use CSocket class//send request...//......int recevieSize(1);while(recevieSize > 0){ ZeroMemory(buff, BUFFSIZE + 1); receviedSize = socket.Receive(buff, BUFFSIZE); if(receivedSize > 0) { //use CFile class downloadFile.Write(buff, re... 阅读全文