单线程就行,我读过千万行的txt文件也不用多久

解决方案 »

  1.   

    这要看你的CPU,如果是双核等对拆分线程有利的则拆分成几部分比较好。几万行或者几百万行的文件好像不算大,没有拆分的必要。
      

  2.   

    使用CStdioFile::ReadString 就能胜任了
    不过听说使用CFile::ReadHuge处理巨量文件更好,不过没有试过。
    兄弟如果试试的话就说一下测试结果
      

  3.   

    ReadHuge is provided only for backward compatibility. ReadHuge and Read have the same semantics under Win32.
      

  4.   

    用完成端口吧 CreateIoCompletionPort,可能会快点,线程太多并不会增加文件的处理速度,推荐好像是 CPU个数*2 + 2 个线程,太多了,用在CPU切换的时间就会过长
      

  5.   

    celftj(超级菜鸟) ( ) 信誉:100    Blog   加为好友  2007-5-26 16:28:33  得分: 0  
     
     
       
    这个意义不大吧?如果用不同线程分别读和显示应该有用  
     
    Top  
     bucherren() ( ) 信誉:99    Blog   加为好友  2007-5-27 21:02:31  得分: 0  
     
     
       
    速度上肯定是用单线程快,用多线程先把某一块读出来有什么好处?  
    我想至少有一种情形可能有用,就是做FTP/HTTP服务器时,提供多线程下载
      

  6.   

    littlegang(Gang)  璇寸殑鏈夐亾鐞嗐€傚叾瀹炲垎绾跨▼璇讳篃娌′粈涔堥毦搴﹀晩锛屽氨鏄夯鐑︿竴鐐圭偣锛屾瘡娆¤ seek 鍒颁腑闂存煇涓綅缃紝鐒跺悗寮€濮嬭