我现在遇到的问题是:要从一个目录里面取zip数据,然后解压它,找到一个其中的文件比如说.aaa,解压后,将其它的数据都上传到一个服务器上,现在要解析aaa这样的文件(这两步可以是串行的),解析成生成xml文件,然后上传到另一个目录里,总体来说是这样一个过程,是否能采用线程来实现?还有,从一个目录里取zip的时候,这个目录下的文件是在不断的增加。可以是手工,也可是以别的方式,反正就是一直有zip文件进来,这个地方,如果写成一个线程的话是不是需要考虑取到的数据会重复?希望高手能给一点思路,,组长说为了提高性能,一定要采用多线程,愁的呐

解决方案 »

  1.   

    用一个线程去遍历目录,由于目录下面的文件可变,所以这个线程应该是定时遍历,发现一个新的zip文件就起一个线程去解压,上传跟解析。
      

  2.   

    我觉得可以这样,首先肯定取文件夹下的zip包,取到1个交给一个线程去做(你可以记录下这个zip文件名)去除重复,然后解压这个zip 查到需要解析的.aaa去另开个线程做XML解析上传,剩下的还是当前线程继续做上传处理
      

  3.   

    定时遍历,,应该可行,我目前的单线程下死循环,可能在多线程中也需要 while(true),因为数据是一直有,像流水那样,一直有数据过来,并且,我解压完后就直接删除了。2楼说的这个,貌似像生产者消费者模型,是吗?