我在写一个程序生成文件,单个线程没有错误,但是一启用两个线程他们就会错乱;在查询数据库数据的时候没有错误,但是在写入文件的时候出现了这种问题:
本来a线程写入1号文件,b线程写入2号文件;但是我这里出现了a写到2号文件去了,b写到1号文件去了——我在程序里面对线程添加了一个序列锁

解决方案 »

  1.   

    my god
    无码无真相,谁知道你代码中怎么锁怎么控制同步
      

  2.   

    对于磁盘 IO 操作不建议使用多线程!磁盘只有一个磁头,因此其并行处理能力为 0,也就是说无法支持并行操作。相反,如果使用多线程并发地对磁盘进行 IO 操作的话,那只会使用性能更差,因为磁盘的磁头需要不停地进行寻道处理。另外,以后问问题之前先看看这篇文章吧提问的智慧
    http://community.csdn.net/IndexPage/SmartQuestion.aspx
      

  3.   

    RE:
    "
    对于磁盘 IO 操作不建议使用多线程!磁盘只有一个磁头,因此其并行处理能力为 0,也就是说无法支持并行操作。相反,如果使用多线程并发地对磁盘进行 IO 操作的话,那只会使用性能更差,因为磁盘的磁头需要不停地进行寻道处理。
    "
    按照这句话的逻辑,有两个硬盘就可以支持并行了.....