创建比你CPU个数更多的线程数毫无意义。

解决方案 »

  1.   

    我觉得瓶颈在写文件。 写文件的速度依赖于硬件,因此多线程写多个文件不一定能提升速度。lz可以看一下讨论的这个回答:
    Why does threading increase time (reduce performance) in this example?
    http://stackoverflow.com/a/17546862我同意Matteo Italia说的,一个线程写文件,另一个线程做其它计算,会提示比较明显。
    多线程写多个文件需要实地测试。
      

  2.   


    如果是双核,或者是4核的CPU呢?因为写完的文件大概几百MB的样子,按照硬盘的写入速度,有个十几秒足够了,那么用线程来提升转译速度可行否?
      

  3.   


    如果是双核,或者是4核的CPU呢?因为写完的文件大概几百MB的样子,按照硬盘的写入速度,有个十几秒足够了,那么用线程来提升转译速度可行否?
    按理说,你完全可以在一个线程中将处理数据的吞吐量做到超过IO的吞吐而无需多线程。
      

  4.   

    文件较大时,读文件就采用异步,通过FileStream有重载指定Option
    写线程采用单独的线程
    读内容到选定正确的方案也要尽量优化(如果方案的解析时间慢于异步读的时间才需要去开线程,像你上面说的那样简单的可以不用)