我正在将字节从输入流传输到文件通道。由于处理器和文件 io 比网络快很多倍,因此很明显线程在传输数据时会暂停很多时间。是否可以实现下载文件的流水线概念,以便在每次暂停之间线程处理下一个获取请求所以单个线程正在处理多个获取请求?这是我的简单实现:
while (start < end && currentState.get() == 1) {
delta = fileChannel.transferFrom(inputChannel, start, 8192);
start += delta;
}
欢迎任何其他提高速度的想法。