多线程操作同一文件
最近用VB2008编写了一个文件加密程序,不过加密速度只有2MB/s,太慢了。检查后发现计算密钥速度太慢,不是硬盘读写速度的问题。现在考虑采用多线程。请问能不能使用多线程操作同一文件?Lock等线程锁怎么用?文件怎样分块读取?(我采用的是逐字节计算相应密钥,为防止破解程序在取得一定量的原文后反推出原密钥,采用了一些非线性算法、Mod等,结果……)
问题补充:
顺便问一句:怎样获取系统实际线程数量?就是CPU层面的,比如i7 860是8线程等等。
可以考虑使用(系统线程数-1)的线程来加密/解密,剩余1条线程留给用户,别搞得死机了……