比较急。
程序描述:各线程对文件进行处理[解析提取等]
把处理后的结果(解析出来的很多记录)保存到ACCESS数据库中。要求速度快:多线程应该可以提高速度,问题:怎么把提取出来的多条记录存进同一个数据库??
我的思路:分线程处理完之后,把多条数据交给主线程由主线程负责数据库的存储
线程之间的配合和阻塞问题。??有做过这方面的 说一下,今晚急用。路过的朋友帮忙顶一下,谢了都有分。
提供代码和完整思路的送分至少200!(另开贴)
程序描述:各线程对文件进行处理[解析提取等]
把处理后的结果(解析出来的很多记录)保存到ACCESS数据库中。要求速度快:多线程应该可以提高速度,问题:怎么把提取出来的多条记录存进同一个数据库??
我的思路:分线程处理完之后,把多条数据交给主线程由主线程负责数据库的存储
线程之间的配合和阻塞问题。??有做过这方面的 说一下,今晚急用。路过的朋友帮忙顶一下,谢了都有分。
提供代码和完整思路的送分至少200!(另开贴)
多线程是相对的(除非是多CPU系统),对那些“间隔”(如:需输数据)的程序比较管用,CPU在等待输入程序的时候可以处理别的线程;楼主的程序是CPU密集,个个线程之间要相互转换,是不是得不偿失呢?对多线程的一点了解,希望各位高人指正!
多线程是相对的(除非是多CPU系统),对那些“间隔”(如:需输数据)的程序比较管用,CPU在等待输入程序的时候可以处理别的线程;楼主的程序是CPU密集,个个线程之间要相互转换,是不是得不偿失呢?对多线程的一点了解,希望各位高人指正!有道理,如果按楼主的意思做成之后,看一下会出现什么结果:
如:在一个名为aaa.txt的文本中查找字符串“BBB”,如果这个文件中有十个“BBB”,你创建三个线程进行查找,结果会怎样?找到三十条记录
因为你没有办法控制它,做不成Mark,所花的时间还是不会少
还是用老办法吧 ,找到一个存一个
多线程是相对的(除非是多CPU系统),对那些“间隔”(如:需输数据)的程序比较管用,CPU在等待输入程序的时候可以处理别的线程;楼主的程序是CPU密集,个个线程之间要相互转换,是不是得不偿失呢?对多线程的一点了解,希望各位高人指正!
------------------
用多线程对多个文件进行处理,肯定会明显加快速度的,CPU总是比硬盘要快很多倍。但多线程对一个文件的数据处理就不现实。
基于前者,楼主最好用sql server等关系数据库才能明显提高数据存入数据库的速度,用ACCESS这种文件型作数据库,它在写数据时不支持并法控制。只能是独享的。则程序要作存库的串行化控制。