我正在使用以下代码来获取文件的校验和。它在计算期间使用 50% 的 CPU。
MessageDigest md = MessageDigest.getInstance("MD5");
InputStream is = new FileInputStream("C:\\Temp\\Small\\Movie.mp4"); // Size 700 MB
byte [] buffer = new byte [blockSize];
int numRead;
do
{
numRead = is.read(buffer);
if (numRead > 0)
{
md.update(buffer, 0, numRead);
}
} while (numRead != -1);
byte[] digest = md.digest();
可以做些什么来减少代码使用除 Thread.sleep(ms) 之外的最大 CPU
问候, 金斯利·鲁本 J