1、在大文件上传中,由于文件比较大,一次无法全部上传,因此需要分块上传:
分割读取 from to。
2、单任务上传
有了第一步的分割,然后使用单线程挨个上传,上传完成后服务器进行校验(MD5等)。
3、多任务上传
多任务多线程就涉及到队列,而且必须是线程安全的队列:Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue。
队列是先进先出。相对的,栈是后进先出。